Verständnisfrage zu Rechten

L

linuxnutzer

Enthusiast
170
Ich bekomme immer mehr für mich nicht nachvollziehbare Meldungen, dass ich bestimmte Ordner nicht nutzen soll oder kann.

Gibt es da unter Android 12 irgendein Tool um Rechte für Verzeichnisse zu definieren? Ich weiß schon was ich tue, wenn ich zB ein SMS-Backup unter "intern/Downloads" temporär speichern will.

Die F-Stop Galerie kann nicht auf meine eigenen Foto-Ordner zugreifen und nur auf "Pictures". Irgendwie kämpfe ich mich schon durch, aber das nervt gewaltig.

Von den "Müll-Ordnern", die auf der externen Karte ungefragt angelegt werden, will ich gar nicht reden. Wozu brauche ich zB extern ein "Android", wenn die externe Karte nicht als Telefonspeicher, sondern nur für Musik-Files verwendet wird. Da gibt es über 10 automatisch angelegte Ordner, die nur alles unübersichtlich machen.

Warum haben selbst angelegte Ordner keine Rechte für "other"?

zB so:
drwxrwx--- 40 root everybod 3488 Jun 12 14:36 myfiles

Es stellt sich die Frage wer nun "everybod" ist, denn jede App kann darauf nicht zugreifen.
 
Zuletzt bearbeitet:
@linuxnutzer Grundsätzlich seit Android 11:

Android 11: Google plant umfangreiche Einschränkung für den Dateizugriff des Android 10-Nachfolgers - GWB


linuxnutzer schrieb:
Die F-Stop Galerie kann nicht auf meine eigenen Foto-Ordner zugreifen
Die F-Stop Galerie ist bei den Berechtigungen aber am besten. Du kannst ihr bei den Berechtigungen den Zugriff auf "alle Dateien" erlauben. Perfekt.

Bin nicht sicher, ob das bisher nur die Betaversion ist oder die normale.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: thomaspan
@linuxnutzer Das ist Scoped Storage.

linuxnutzer schrieb:
Gibt es da unter Android 12 irgendein Tool um Rechte für Verzeichnisse zu definieren? I
Ja, Terminal öffnen und mit chown/chmod/chcon alle Rechte neu definieren. Aber wenn nachher nix mehr läuft, bringt dir das auch nicht viel. Außerdem wird bei einem Neustart alles rückgängig gemacht.
 
holms schrieb:
Die F-Stop Galerie ist bei den Berechtigungen aber am besten. Du kannst ihr bei den Berechtigungen den Zugriff auf "alle Dateien" erlauben. Perfekt.

Genau das war eingestellt, wenn man nur Medien erlaubt, kommt ein Hinweis, dass man alle Dateien erlauben soll.

holms schrieb:
Die F-Stop Galerie ist bei den Berechtigungen aber am besten

Ich verwende die seit Jahren kenne mich also aus mit den erlaubten und verbotenen Verzeichnissen. Mit der Standardeinstellung werden normalerweise alle Fotos am internen Speicher gefunden. Dieses Mal wurden keine gefunden. Wenn die externe Karte ausgeschlossen wurden, wurden also keine Fotos gefunden, habe da über eine halbe Stunde rumprobiert. Nachdem ich einen kleinen Ordner nach Pictures kopiert habe, wurde dieser sofort gefunden. Interessant ist nun aber, dass, nachdem ich nach Pictures verschoben hatte, irgendwann png-Dateien in meinem eigenen Ordner auch angezeigt wurden.

Bei Solid Explorer mit Arrows 12.1 gab es kein Berechtigungsgemecker, mit CRDroid A12.1 sollte ich einen Ordner für Solid E definieren und die meisten wurden nicht akzeptiert.

Bei Backup&Restore konnte ich nicht in Downloads speichern, aber in Documents.

So irgendwie geht es permanent dahin, ich wurstle mich schon durch, aber es ist nervig.

chrs267 schrieb:
Ja, Terminal öffnen und mit chown/chmod/chcon alle Rechte neu definieren. Aber wenn nachher nix mehr läuft, bringt dir das auch nicht viel. Außerdem wird bei einem Neustart alles rückgängig gemacht.

Das kenne ich, rw mounten und dann editieren und nach dem Neustart hat man wieder die alte Konfiguration. Es ging da zB um die gps.conf

Also weiter irgendwie durchkämpfen, wenn man Verzeichnisse erlauben muss, von den vorhandenen wird kaum was genommen.
 
@linuxnutzer So kompliziert ist das auch nicht. Du musst nichts r/w mounten, da interner Speicher. Jeder Dateityp hat seinen Ordner. Hier eine Übersicht.
 
chrs267 schrieb:
Du musst nichts r/w mounten,

Ich bezog mich darauf, die gps.conf zu verändern. Da ging es um ein MI Max 2, mittlerweile habe ich dafür ein inoffizielles Havoc mit A11,, läuft ganz gut. Davor gab es nur ein indisches ROM mit GPS-Problemen und das lag an der gps.conf.
 
Zuletzt bearbeitet:
linuxnutzer schrieb:
Von den "Müll-Ordnern", die auf der externen Karte ungefragt angelegt werden, will ich gar nicht reden. Wozu brauche ich zB extern ein "Android",
Diese Ordner werden angelegt, sobald das System oder eine App Zugriff auf die externe Karte bekommt. Das geht Hand in Hand und ist im Framework so festgelegt.


linuxnutzer schrieb:
Warum haben selbst angelegte Ordner keine Rechte für "other"?

zB so:
drwxrwx--- 40 root everybod 3488 Jun 12 14:36 myfiles

Es stellt sich die Frage wer nun "everybod" ist, denn jede App kann darauf nicht zugreifen.
Du redest von Zugriffsrechten von selbsterstellten Ordnern in...? Welcher Pfad? Und jetzt sag nicht interner Speicher. Dafür gibt es eine Vielzahl von Pfaden und jeder hat eigene Zugriffsrechte.
 
Zuletzt bearbeitet:
chrs267 schrieb:
Du redest von Zugriffsrechten von selbsterstellten Ordnern in...? Welcher Pfad? Und jetzt sag nicht interner Speicher. Dafür gibt es eine Vielzahl von Pfaden und jeder hat eigene Zugriffsrechte.

Die Pfade nennen sich ja unterschiedlich und sind Links. Ich meine unter /sdcard

$ pwd
/sdcard

$ ls -1
Alarms
Android
Audiobooks
DCIM
Documents
Download
Movies
Music
MyAppsList
Notifications
Pictures
Podcasts
Recordings
Ringtones
pcmedia

Angelegt mit einer ssh-Verbindung zum Handy und "mkdir -p /sdcard/pcmedia"

Den Ordner pcmedia habe ich immer schon mit vielen Handys via ssh angelegt, war seit Jahren kein Problem. Da hinein synchronisiere ich Files vom PC mit rsync.
 
Zuletzt bearbeitet:
@linuxnutzer Da haben wir es schon, denn /sdcard ist auch nur ein temporäres Verzeichnis. Kennst du nicht den realen Pfad für den internen Speicher
/data/media/0?
 
Zuletzt bearbeitet:
linuxnutzer schrieb:
ngelegt mit einer ssh-Verbindung zum Handy und "mkdir -p /sdcard/pcmedia"

Da war ich nicht exakt, weil ich nicht dachte, dass es wichtig ist. Jedenfalls hat es funktioniert.

Also zB so:
mkdir -p /mnt/sdcard/pcmedia/fotos/
oder
/storage/self/primary/pcmedia/

Ich habe da meist einen Pfad erwähnt, der mit verschiedenen ROMs und Handys gepasst hat.

Solid Explorer findet die Dateien im internen Speicher.
 
@linuxnutzer Der Pfad /data/media/0 ist der einzige reale Pfad zum internen Speicher. Alles andere ist eine Verknüpfung oder ein tmpfs.

linuxnutzer schrieb:
Solid Explorer findet die Dateien im internen Speicher
Aber keine App kann eigenständig dort (Medien-)Daten speichern.
 
Ich speichere in dieses Verzeichnis mit rsync seitdem ich Android nutze, mindestens seit Android 4, 2 glaube ich auch schon.

chrs267 schrieb:
Aber keine App kann eigenständig dort (Medien-)Daten speichern.

Wie jetzt, ich kann unter Android keinen beliebigen Ordner anlegen und dann darin speichern? Ich bin zB gezwungen Videos unter Movies abzulegen?
 
linuxnutzer schrieb:
Mit der Standardeinstellung werden normalerweise alle Fotos am internen Speicher gefunden. Dieses Mal wurden keine gefunden. Wenn die externe Karte ausgeschlossen wurden, wurden also keine Fotos gefunden, habe da über eine halbe Stunde rumprobiert. Nachdem ich einen kleinen Ordner nach Pictures kopiert habe, wurde dieser sofort gefunden
Du hast es hier doch selbst gesagt.
Beiträge automatisch zusammengeführt:

chrs267 schrieb:
Habe dir extra diesen Link gegeben, da (oder über einen Link erreichbar) steht alles drin bzgl. Zugriffsrechte.
 
Zuletzt bearbeitet:
Der Link zeigt Error 403 mit dem Hinweis, dass Google der Browser Duckduckgo nicht gefällt, aber ich habe es mir selber gesucht.

scoped-link.jpg

Ich weiß jetzt nicht, ob ich die Tragweite der Erklärung verstanden habe. Es eckt zur Zeit an einigen Stellen, wo ich noch keine Probleme hatte.

Vielleicht hängt auch damit No space left on device (28) mit Rsync obwohl Platz zusammen. Ich habe ähnliches jetzt mit mehreren Handys erlebt. ZB Solid Explorer meint, dass mehr als 10GB frei sind, in der Konsole df auch. Vielleicht ist da irgendwer auf die Idee gekommen, die Anzahl der Ordner und Bilder unter Pictures einzuschränken, damit das System nicht zu langsam wird.
 
Zuletzt bearbeitet:
linuxnutzer schrieb:
Vielleicht ist da irgendwer auf die Idee gekommen, die Anzahl der Ordner und Bilder unter Pictures einzuschränken, damit das System nicht zu langsam wird.
Nein, auf diese Idee ist keiner gekommen.

Wunderst du dich nicht, wieso es so viele verschiedene Pfade gibt, die zu deinem internen Speicher führen?
Code:
/data/media/0
/storage/emulated/0
/sdcard
/storage/self/primary
/mnt/user/0/primary
/mnt/runtime/default/self/primary
/mnt/runtime/read/self/primary
/mnt/runtime/write/self/primary
/mnt/runtime/full/self/primary
...und noch einige andere.
Das wird ja einen bestimmten Grund haben, oder?

Der interne Speicher befindet sich physikalisch auf der Partition /data im Verzeichnis /media => /data/media ist also der eigentlich wirkliche Pfad zu deinem internen Speicher.

Jetzt wissen natürlich alle User mit Root, dass /data der Bereich schlechthin ist. Dort sind nicht nur Systemkonfigurationen, Displaysperre und sonstiges abgelegt. Auch alle Appdaten befinden sich auf dieser Partition. Allgemein ist /data der persönlichste Bereich eines Smartphones und auch der sensibelste in Bezug auf deine Daten.
Dritte können extern nicht auf diesen Bereich zugreifen, weil er verschlüsselt ist. Aber intern ist der Zugriff theoretisch möglich, denn die Daten sind hier alle lesbar.
Jetzt wissen aber auch ALLE User, dass der Zugriff ohne Root trotzdem unmöglich und unüberwindbar ist. Das liegt an den Zugriffsrechten und an SELinux. Nur wenn diese Rechte perfekt aufeinander abgestimmt sind, packt dieser Schutz erst richtig.
Da wir hier vom internen Speicher sprechen, sollte der Zugriff darauf aber möglichst leicht gestaltet werden. Also was machen wir jetzt? Lieber die Daten gefährden, um Zugriff zu ermöglichen oder aber sie doch lieber schützen und den internen Speicher vollkommen abriegeln? Denn Fakt ist, wer auf /data/media zugreifen möchte, braucht zuerst Zugriff auf /data und das möchten wir im eigenen Interesse ganz bestimmt nicht.

Die Lösung für dieses Problem lautet: Wir emulieren ein eigenes Dateisystem im Dateisystem und schaffen somit ein vollkommen sicheres Umfeld mit Zugriffsrechten für (fast) Jedermann. Gleichzeitig ist es unmöglich aus diesem emulierten Dateisystem heraus auf andere Bereiche des Speichers zuzugreifen, da dieser Weg schlichtweg nicht existiert. Das ist der Grund, warum es den Pfad /storage/emulated/0 gibt.

Dein Favorit scheint /sdcard zu sein. Leider ist dieses Verzeichnis aber ein ewig langer Weg durchs System, bestehend aus (zu) vielen Symlinks. Diese mehrfache Weiterleitung sorgt oft für Probleme, die durch eine Vielzahl an neuen Restriktionen bei aktuellen Versionen von Android noch verschärft werden.
Wird /sdcard aufgerufen, passiert das ("->" = Symlink):
Code:
/sdcard -> /storage/self/primary -> /mnt/user/0/primary -> /storage/emulated/0
Wiederum ist /storage/emulated/0 als Dateisystem gemountet und führt über
Code:
/storage/emulated/0 -> /mnt/runtime/default/emulated -> /data/media/0
endlich zum eigentlichen internen Speicher /data/media/0.

Der einfachste Zugriff erfolgt also über /storage/emulated/0. Den Pfad solltest du bei rsync probieren. Ansonsten den appspezifischen Pfad unter /Android/data ausprobieren.
 
  • Danke
Reaktionen: linuxnutzer
Vielen Dank für die ausführliche Erklärung. Ich kann das ja so machen,. F-Stop zeigt mir beim Pfad /storage/emulated/0. an so wie ich es bis jetzt gemacht habe.

Ich fürchte mein "no space" Fehler ist einfach falsch und ich habe plörtzlich kein Schreibrecht mehr. Ich muss das alles noch genauer analysieren, ca. 50000 Zeilen / Dateien laufen problemlos und dann kommen die Probleme.
 
Zuletzt bearbeitet:

Ähnliche Themen

D
Antworten
2
Aufrufe
130
Darkknight
D
roro65
Antworten
3
Aufrufe
331
roro65
roro65
Z
Antworten
0
Aufrufe
179
Zerra
Z
Zurück
Oben Unten