Warum ist die UID des primären Administrators 501?

Warum ist die UID des primären Administrators 501?

Ich verstehe*, dass der primäre Administratorbenutzer eine Benutzer-ID von erhält 501und nachfolgende Benutzer fortlaufende Nummern ( 502, 503, …). Aber warum 501? Was ist das Besondere an 50x, was ist der historische/technische Grund für diese Wahl?

* Ich habe angefangen, mich damit zu befassen, als ich neugierig wurde, warum meine externe Festplatte alle ihre gelöschten Dateien enthielt .Trashes/501. Meine Suche führte mich zu dem Schluss, 501dass dies die Benutzer-ID für den primären Administrator in *nix-Systemen ist (ich verwende macOS), aber nichtWarum.

Antwort1

Viele Unix-Systeme beginnen mit der Vergabe von UIDs an Benutzer ab einer bestimmten Anzahl. Solaris gibt dem ersten allgemeinen Benutzer die UID 100, bei OpenBSD ist es 1000 und bei macOS scheint es die UID 501 zu sein, die die UID für den ersten erstellten interaktiven Benutzer ist, der wahrscheinlich auch ein macOS-Administratorbenutzer ist (was nicht dasselbe ist wie der Root-Benutzer).

Die Konten mit niedrigeren Nummern sind Systembenutzerkonten für Daemons usw. Dadurch können interaktive „menschliche“ Konten leichter von Systemdienstkonten unterschieden werden. Dies kann auch die Benutzerverwaltung, Authentifizierung usw. in verschiedener Software erleichtern.YP/NIS, ein etwas veraltetes System zum Speichern von Benutzerkonten (und anderen Informationen) auf einem zentralen Server, ohne dass lokale Benutzer auf mehreren Clientcomputern erstellt werden müssen, verfügt beispielsweise über eine MINUIDund MAXUID-Einstellung für den Bereich der zu verarbeitenden Benutzerkonten.

Bei manchen Unix-Systemen kann ein Bereich der Systemdienstkonten Drittanbietersoftware zugewiesen sein, wie etwa die UIDs 50 bis 999 bei FreeBSD oder 500 bis 999 bei OpenBSD.

Alle diese Bereiche werden von den Herstellern und Betreuern der einzelnen Unices entsprechend den erwarteten Anforderungen ihres Betriebssystems gewählt. Der POSIX-Standard sagt nichts darüber aus. Die niedrigste und höchste zuweisbare UID (und GID) ist oft von einem lokalen Administrator konfigurierbar (siehe Ihr adduserHandbuch).

Die meisten Unix-Systeme reservieren die UID 0 für rootden Superuser und weisen dem Benutzer die höchstmögliche UID (oder zumindest einen hohen Wert) zu nobody(Solaris verwendet die UID 60001, OpenBSD verwendet 32768, aber UIDs könnenvielgrößer als das).

(Siehe Kommentare dazu, ob UID 0 immer vorhanden ist root(oder nicht), was eine kleine Abschweifung von diesem Thema darstellt.)


Update: Das OpenBSD-Projektvor kurzem abgelehntdie Idee einer zufälligen UID/GID-Zuweisung.

Antwort2

Für Verteilungen, die demLSB, sie vergeben UIDs und GIDs 0-99 statisch. UIDs 100-499 werden dynamisch vergeben, diese sind aber ebenfalls für das System und nicht für Anmeldekonten.

Beispielsweise cupswird Druck-Daemons wie in der Regel ein eigenes Benutzerkonto zugewiesen. Wenn also eine Schwachstelle im Daemon ausgenutzt wird, hat der Daemon nicht die rootvolle Kontrolle über das System. (Und er hat auch nicht unbedingt die Macht, andere Daemons zu stören.)

Bei neueren Linux-Distributionen wird der Systembereich auf bis zu 999 erweitert.

Damit blieben für Anmeldekonten UIDs ab 500 (bzw. 1000) übrig.

Debian verfügt zusätzlich über einestatischZuteilung fürBenutzerkennungGID 100, obwohl ich mir nicht vorstellen kann, dass diese Abweichung besondere Probleme verursacht.

Man kann sich leicht ein anderes System mit einer Abweichung von 1:1 vorstellen, das zusätzlich UID 500 reserviert. (Ich gehe davon aus, dass dies immer noch konform wäre; ich kann mir nicht vorstellen, dass alle Linux-Systeme so lange gegen das LSB verstoßen haben, ohne dass es aktualisiert wurde.)

Das erste Anmeldekonto muss weder ein Administratorkonto noch das primäre Administratorkonto sein. Systeme verwenden es nicht unbedingt sudo(insbesondere, wenn sie älter sind :). rootIn diesem Fall könnte man sagen, dass das „primäre Administratorkonto“ das ist. Abgesehen davon erkennen *nix- und allgemeine Linux-Distributionen kein bestimmtes „primäres Administratorkonto“.

verwandte Informationen