UID manuell zu einer Systemgruppe hinzufügen

Nehmen wir an, ich erstelle eine benutzerdefinierte Gruppe auf Android (wir nennen sie GID 5000 ) und möchte Benutzer (Apps) zu dieser Gruppe hinzufügen. Wie kann ich die UID der App manuell zu GID 5000 hinzufügen ? Möglichst ohne die APK anzufassen .

Sie sollten das nicht außer Kraft setzen, das ist die Aufgabe des Paketmanagers, der APK bei der Installation die UID zuzuweisen, und Sie müssen unabhängig davon root sein, um dies zu erreichen. Auch Gruppen existieren im Bereich der APKs nicht wirklich.
Der Paketmanager macht einen schlechten Job, wenn es darum geht, Dateien zwischen lokalen Benutzern zu teilen.
Das ist die ganze Idee hinter Anwendungssicherheit ! Um zu verhindern, dass andere Apps andere Daten manipulieren, die ihnen nicht gehören.
Benutzerdefinierte Ordner von Benutzern sind ebenfalls betroffen und verhindern, dass lokale Benutzer beispielsweise einen Musikordner freigeben. Erstellen Sie besser eine neue Gruppe und fügen Sie die UID der App für lokale Benutzer hinzu, als die Berechtigungen 777 zu erstellen.
Warum? Ich versuche zu verstehen, was Sie zu tun versuchen. Es klingt eher so, als würden Sie den ganzen Punkt der Sicherheit besiegen. Denken Sie darüber nach, eine bösartige App könnte die privaten Daten eines anderen überschreiben oder Chaos mit ihnen anrichten, was dazu führen könnte, dass diese App aufgrund von „Korruption“ abstürzt! Fyi, 777 ist eine ernsthafte grelle Sicherheitslücke, die darauf wartet, ausgenutzt und missbraucht zu werden! Verwenden Sie ein Tablet mit JB oder höher in Bezug auf Mehrbenutzerkonten?

Antworten (1)

Basierend auf Linux unterstützt Android die Befehle addgroupund adduser(ich habe gerade auf einem meiner Geräte nachgesehen, und der Befehl existiert). Ich bin mir nicht sicher, ob es alle unter Linux verfügbaren Optionen unterstützt, aber was funktionieren sollte, ist zumindest

# create a new group
addgroup [--gid ID] group
# add a user (app) to that group
adduser <user> <group>

Aus der adduserManpage:

Wenn es mit zwei Nicht-Optionsargumenten aufgerufen wird, fügt adduser einen vorhandenen Benutzer zu einer vorhandenen Gruppe hinzu.

Das erfordert Root-Berechtigungen, um die Befehle verwenden zu können. ;)
@ t0mm13b Sicher tut es das. Aber die Frage implizierte das – oder kennen Sie eine Möglichkeit, diese Anfrage ohne Root zu erfüllen? Wenn ja, melden Sie es bitte als Sicherheitsproblem an AOSP :)
Mein Gerät hat keine Addgroup / Adduser, welche Rom/Version//Gerät verwenden Sie? Vielleicht könnte ich es auf mein Gerät portieren. (Versucht mit Toolbox und Busybox)
Ich bezweifle, dass Sie das tun möchten: Ich habe ein Backup meines alten Testgeräts (Motorola Droid²), Stock Android 2.2 – und meines LG Optimus 4X, Stock 4.0.3, überprüft. Beide haben es drin /system/xbin, zumindest letzteres als Links dazu /system/xbin/busybox.
Ich überprüfe derzeit, ob es möglich ist, Adduser/Addgroup über eine benutzerdefinierte Busybox-Zusammenstellung auf dem Gerät hinzuzufügen, ohne dass es auf Lager ist. Wenn es funktioniert, bedeutet dies, dass die Lösung allgemein ist und als Antwort gekennzeichnet wird.
@Izzy addgroupfunktioniert nicht auf meinem gerooteten Tablet. Sollen Sie dies über den Emulator oder die Adb-Shell ausführen?
Ich arbeite selten mit Emulator (wenn überhaupt, und das ist eine ganze Weile, ich habe es zuletzt gemacht, es ist Android_x86 in einer VirtualBox) – also würde ich sagen via adb shell. Vergiss nicht, dass diese beiden Befehle nur funktionieren, wenn du root bist, @PrahladYeri :)