Anwendungs-Sandboxing in Android

Ich bin auf dieser Seite auf eine Zeile gestoßen .

„Das Android-System weist jeder Android-Anwendung eine eindeutige Benutzer-ID (UID) zu und führt sie als dieser Benutzer in einem separaten Prozess aus. Dieser Ansatz unterscheidet sich von anderen Betriebssystemen (einschließlich der traditionellen Linux-Konfiguration), bei denen mehrere Anwendungen mit derselben ausgeführt werden Benutzerberechtigungen."

Kann mir bitte jemand erklären, was die erste Zeile bedeutet?

Antworten (1)

Jede einzelne Anwendung, die auf Ihrem Telefon installiert ist, erhält eine UID.

Es ist eine Nummer, die Android verwendet, um die Apps zu identifizieren, damit es überprüfen kann, von welchen App-Befehlen ausgeführt werden, und die Berechtigungen der App überprüfen, um festzustellen, ob diese App den Befehl ausführen darf. Die Privilegien von Anwendungen sind in Android ziemlich eingeschränkt. Sie können keine Datenordner anderer Apps sehen, sie können das System nicht ändern und sie können nichts tun, wenn der Benutzer ihnen keine Erlaubnis gibt.

Wenn die X-App beispielsweise installiert wird, erhält sie die UID 10000 .

Android erstellt einen Daten- und einen Cache-Ordner für diese App. Wann immer eine App auf diese Ordner zugreifen möchte, prüft Android die UID der App. Wenn es nicht UID 10000 ist, verweigert Android die Erlaubnis.

Dies ist ein guter Abwehrmechanismus, der die Fähigkeiten möglicherweise schädlicher Apps, die installiert wurden, einschränkt. Alle Apps haben eingeschränkten Zugriff auf fast alles, was sie nicht selbst auf das Gerät gebracht haben.

Darüber hinaus hat der Benutzer selbst nur eingeschränkten Zugriff auf das Telefon. Ein Benutzer, der nicht weiß, was er tut, kann also keinen Schaden anrichten.

Hier kommt das gesamte Grundkonzept her. root ist ein spezieller Benutzer mit UID 0 und seine Fähigkeiten werden nicht durch das Betriebssystem eingeschränkt, sodass er System- und andere Apps ändern kann.