Permission denied bei termux

  • 11 Antworten
  • Letztes Antwortdatum
G

gene

Stamm-User
21
Hallo,

ich habe mir auf dem Smartphone den Terminalemulator Termux eingerichtet um per Tasker Skripte ausführen zu können. Unter anderem habe ich für die Verbindung per SSH die Schlüsseldateien auf das Smartphone kopiert um ohne Passworteingabe auf den SSH-Server zugreifen zu können. Das Script ist dann

Code:
ssh -i /pfad/zur/schlüsseldatei user@ip-adresse

Das geht leider auf dem Tablet (LineageOS 16.1@root) nicht. Generell kann ich da als normaler User keine Dateien ausführen oder öffnen wenn ich die vom Smartphone oder PC auf das Tablet kopiert habe. Auch dann nicht wenn ich den Besitzer geändert habe. Ich kann sicher die Scripte neu erstellen, nicht aber die Schlüsseldateien. Auf dem Smartphone (LineageOS 16.1) hat es auch funktioniert, auch da habe ich existierende Schlüsseldateien nur auf das Device kopiert.
 
Termux ist sehr, sehr zickig was das angeht. Als nirmaler User unter Termux kannst nur auf den int. Speicher und das HOME-Verzeichnis von Termux selbst zugreifen. Kopierst du Datein mit einem Dateiexplorer in das Verzeichnis, kann Termux nicht mehr darauf zugreifen. Diese Dateien müssen mit Termux selbst dorthin kopiert werden (mv oder cp).
Beiträge automatisch zusammengeführt:

Mit Dateiexplorer werden Dateien außerhalb des int. Speichers immer mit Zugriff root:root abgelegt. Du brauchst app_XXX (ID der Termux-App)
 
Zuletzt bearbeitet:
Auf dem smartphone haben die Schlüsseldateien aber den gleichen Benutzer und liegen im gleichen Verzeichnis und da geht es. Auch hier wurden die mit dem Dateimanager kopiert und nicht mit cp oder mv.
 
Also willst mit dem Tablet via SSH auf dein Smartphone zugreifen, was auch funktioniert. Nur kannst du die Dateien nach dem Zugriff nicht öffnen?
 
Nein, ich will vom tablet auf meine sonstigen Geräte zugreifen. Ich hab die dateien vom smartphone kopiert weil es von dort aus auch geht.

Die scripte kann ich neu erstellen, dir Schlüsseldateien nicht.
 
Posre bitte den Konkreten Befehl, der von Termux mit "permission denied" abgebrochen wird.
 
Jeder Befehl der eine Datei betrifft die ich "von extern" auf das Tablet kopiert habe. Auch Sachen wie


Ich kann problemlos neue Dateien erstellen, aber kopierte gehen nicht. Weder auszuführen noch zu öffnen. Das geht nur mit tsudo vorangestellt.

Nicht einmal ls geht.
 
In welchem Verzeichnis befinden sich die Dateien, die du öffnen willst?
Gib mir bitte mal ein konkretes Bsp. welcher Befehl den Output permission denied verursacht. Ein Screenshot oder den Befehl explizit posten.
 
Die fehlenden Zugriffsrechte auf /sdcard lag an den fehlenden Berechtigungen für die Termux-App in den Ap-Settings.

Das behebt leider nicht das Problem, dass ich alle Scripte neu schreiben musste. Gibt es hier für das nächste mal eine elegantere Lösung?

EDIT
Das passiert bei jedem Befehl. Jeden den ich auf eine der Dateien anwende. Was bringt da ein Screenshot?
 
Zuletzt bearbeitet:
Sind die Scripte unter /sdcard gespeichert??
Ich brauche hier von dir konkrete Infos zu deinem Problem. Wenn du ein Zugriffsproblem hast, muss ich wissen, worauf du überhaupt genau zugreifen willst.
Termux kann alle Dateien öffnen, die unter /sdcard gespeichert sind. Genauso wie alle Dateien unter /data/data/com.termux. Aber ich weiß ja gar nicht, welche Dateien du eigentluch öffnen willst...
Beiträge automatisch zusammengeführt:

Und: Willst du auf Dateien zugreifen, die im Verzeichnis /data/data/com.termux liegen, muss die Datei von Termux selbst dort angelegt worden sein. Sei es per copy, move, entpacken eines Archivs oder direkt von Termux neu erstellt.
Auf Dateien, die mit irgendeiner anderen App bearbeitet worden sind, kann Termux nicht zugreifen.
Beiträge automatisch zusammengeführt:

gene schrieb:
den ich auf eine der Dateien anwende
Der Befehl ist doch zweitrangig! Die Datei ist wichtig, bzw. deren Pfad.
Beiträge automatisch zusammengeführt:

permission denied = Zugriff auf Datei verweigert
Wo die Dateien liegen ist das Problem.
 
Zuletzt bearbeitet:
Gut, dann weiß ich wo das Problem liegt, denn die Dateien wurden vom File Manager dorthin kopiert. Die Scripte die ich ausführen will liegen unter ~/.termux/tasker, der ganze Pfad wäre dann /data/data/com.termux/files/home/.termux/tasker.

Es wäre demnach auch ausreichend wenn ich die Dateien per File Manager in das Termux-Home-Verzeichnis verschiebe (mit dem File Manager) und sie dann mit Termux per cp oder mv in das richtige Verzeichnis packe? Dann hätte ja Termux selbst den letzten finalen Schritt gemacht.
 
Ja, genau. Alternativ wäre auch chown app_xxx:app_xxx FILENAME möglich, wäre aber in deinem konkreten Beispiel zu viel Tipperei. :)
Beiträge automatisch zusammengeführt:

Edit: Richtig wäre chown u0_aXXX:u0_aXXX FILENAME
Beiträge automatisch zusammengeführt:

Du musst auch darauf achten, dass die zu öffnenden Dateien "ausführbar/executable" sind.
Code:
chmod +x FILENAME
Beiträge automatisch zusammengeführt:

Beim Befehl "mv" werden die Berechtigungen nicht angepasst!! Du musst "cp" verwenden!
 
Zuletzt bearbeitet:

Ähnliche Themen

T
Antworten
3
Aufrufe
121
Klaus986
K
E
Antworten
5
Aufrufe
2.558
pueh
pueh
sky1981
Antworten
10
Aufrufe
2.462
heinzl
heinzl
Zurück
Oben Unten