Kann man auf Android Verzeichnisberechtigungen erlangen?

Auf jedem Android-Gerät wollen 99,5 % der Apps die Berechtigung „Inhalte der SD-Karte schreiben/lesen“ in Kombination mit „Voller Netzwerkzugriff“.

Theoretisch reichen diese 2 Berechtigungen aus, damit die App alle meine persönlichen Dateien (Cloud-Speicher) lesen und an ihren Server senden kann. Gibt es eine Möglichkeit, Apps nur den Zugriff auf ihre Ordner zu erlauben?

Warum haben alle Apps Zugriff auf alle Ordner? Warum wird ein solches Grundkonzept nicht umgesetzt?

Sie benötigen einen Berechtigungsmanager. Schauen Sie sich auf dieser Seite um. Ihre Frage ist bereits beantwortet. (Hinweis: Apps wie XPrivacy, Privacy Guard und mehr).

Antworten (2)

Berechtigungen auf Ordnerebene sind keine gute Wahl für SD-Karten (egal ob emuliert oder extern). Es macht die Sache komplizierter.

Standardmäßig werden SD-Karten als noexec gemountet, es können keine Binärdateien von der SD-Karte ausgeführt werden. Unnötig zu erwähnen, dass viele externe SD-Karten derzeit mit Fat32 formatiert sind, Berechtigungen sind für sie keine Option.

Jede App hat ihre eigene UID/GID. Wenn eine App exklusive Lese-/Schreibberechtigungen für einen Ordner auf der SD-Karte haben muss (wodurch andere Apps daran gehindert werden, diesen Inhalt zu lesen), besteht die Möglichkeit, dass der Ordner für andere Apps nicht zugänglich ist. Diese Art von Situation bricht Dinge.

Zum Beispiel gehen Musikdateien unter Musikordner auf der SD-Karte. Wenn dieser Ordner exklusive Berechtigungen nur für eine bestimmte Musik-App hat, kann U nicht mehrere Musik-Player auf Ihrem Gerät haben.

Ein weiteres Beispiel ist ein Dateimanager eines Drittanbieters, der nicht einmal auf den gesamten Inhalt auf der SD-Karte zugreifen kann, was den Dateimanager sinnlos macht.

Wenn überhaupt ein solches Konzept verfügbar ist, besteht die Möglichkeit, dass Android/Google das Sortieren von Dateien/Ordnern auf unseren SD-Karten erzwingt. Das würde ich nicht bevorzugen. Ich möchte lieber, dass Dateien/Ordner so sortiert werden, wie ich es bevorzuge, nicht so, wie mich jemand dazu zwingt.

Bharat G, hi, noexec kann auf einem gerooteten Gerät überschrieben werden, indem die Binärdatei als su von der SD-Karte auf die gleiche Weise wie ein Skript ./binary ausgeführt wird

Warum haben alle Apps Zugriff auf alle Ordner?

Das liegt daran, dass dies der ausdrückliche Zweck des externen Speichers ist, Daten zwischen Anwendungen auszutauschen, die nicht unbedingt für die Zusammenarbeit entwickelt wurden.

Wenn eine von Ihnen verwendete Anwendung private Daten in einem externen Speicher speichert, verwenden Sie diese Anwendung nicht mehr. Sowohl Anwendungsentwickler als auch Benutzer haben oft das Missverständnis, dass externer Speicher zum Speichern großer Dateien dient. Dieses Denken ist falsch und gefährlich. Wenn Daten nicht geteilt werden sollen, sollten sie im internen Speicher gespeichert werden, egal wie groß sie sind. Ein weiterer gefährlicher Irrtum ist die Gleichsetzung von externem Speicher mit SD-Karte.

Warum wird ein solches Grundkonzept nicht umgesetzt?

Das ist eine falsche Annahme. Ab Android 4.4 können Anwendungen auf ein anwendungsspezifisches Verzeichnis im externen Speicher zugreifen, ohne die umfassende Berechtigung READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE zu besitzen. Ab Android 4.4 sind diese Berechtigungen nur erforderlich, wenn eine Anwendung entweder Daten verwenden möchte, die von einer anderen Anwendung über einen externen Speicher freigegeben wurden.