Warum läuft jede Anwendung als separater Benutzer unter Android?

Wenn es aus Sicherheitsgründen ist, damit eine Anwendung einer anderen nicht schaden kann, warum ist es dann nicht so in den Desktop-Linux-Distributionen?

Wenn Desktop-Betriebssysteme die Interaktion zwischen Anwendungen bevorzugen, warum ist es bei den mobilen nicht genauso? Was ist der Unterschied?

Welche Anforderungen hat ein Desktop-Linux, die die Interaktion zwischen Anwendungen rechtfertigen, die Android nicht hat?

Antworten (2)

Warum wird jede Anwendung als separater Benutzer ausgeführt?

Denn Android erzwingt eine weitaus stärkere Prozessisolierung als herkömmliche (Desktop-)Betriebssysteme wie Unix, Linux oder Windows, erlaubt aber dennoch die Interaktion zwischen Anwendungen (IPC ist eine der Stärken von Android), die durch ein gutes Sicherheitsmodell abgesichert ist.

Wenn es aus Sicherheitsgründen ist, damit eine Anwendung einer anderen nicht schaden kann?

Dies dient hauptsächlich dem Datenschutz, ist aber auch aus Sicherheitsgründen praktisch. Die starke Isolierung von Apps in Android garantiert, dass keine App eine andere App beeinflussen kann.

Warum ist das in den Desktop-Linux-Distributionen nicht so?

Die meisten modernen Desktop-Mehrbenutzersysteme konzentrieren sich auf die Isolierung von Benutzern. Prozesse sind auch isoliert, aber nicht so stark wie auf Android. Wenn Sie beispielsweise ein Programm unter Linux oder Windows installieren, hat es vollen Zugriff auf Ihre privaten Benutzerdaten. Wenn auf Android keine spezielle Erlaubnis erteilt wird, hat es nur Zugriff auf seine eigenen Daten.

Vor einiger Zeit war die Tatsache, dass Android-Apps, die die READ_EXTERNAL_STORAGEErlaubnis anfordern, auch Zugriff auf die Bilder der Benutzer erhalten, in denen sie sich befinden, /sdcard/DCIMein großer Ladenstopper. Irgendwie schien sich niemand daran zu erinnern, dass bei einer normalen GNU/Linux- oder Windows-Installation jede installierte App, die vom Benutzer ausgeführt wird, vollen Zugriff auf ihre privaten Daten hat.

Android ist herkömmlichen Betriebssystemen einige Schritte voraus, wenn es um Berechtigungen und Zugriffskontrolle für normale Endbenutzer geht. Typische Linux-Installationen für Endbenutzer stellen diese Funktionen noch nicht zur Verfügung. Wahrscheinlich, weil niemand schöne, benutzerfreundliche GUIs für sie geschrieben hat. Und wenn es nach Win8 noch eine weitere Windows-Version geben wird, sehen wir wahrscheinlich auch dort ein ähnliches Berechtigungssystem.

Was passiert, wenn Sie einen neuen Benutzer hinzufügen möchten ?
Das ist eine ausgezeichnete Frage. Ich schlage vor, dass Sie es hier als neue Frage stellen.
Für Interessierte: hier gefragt

Desktop- und Serversysteme haben ein völlig anderes Nutzungsmodell, und sie haben Systemadministratoren, die den Zugriff zwischen Benutzern und Anwendungen vermitteln (durch Festlegen geeigneter Gruppenberechtigungen usw.).

Bei Android ist für so etwas kein Platz - Ihre größte Zielbenutzerbasis ist absolut nicht technisch und Sicherheit ist ein Muss. Die Dinge sind also standardmäßig auf hohe Sicherheit eingestellt – keine App kann mit den Daten einer anderen herumspielen. Darüber hinaus sind mobile Apps in der Regel klein und auf eine Aufgabe konzentriert, sodass es keine große Schwierigkeit darstellt, sie nur auf ihre eigenen Daten zu beschränken.