Perché l'UID 501 dell'amministratore principale?


11

Capisco * l'utente admin primario viene assegnato un ID utente 501e gli utenti successivi ottenere numeri incrementali ( 502, 503, ...). Ma perchè 501? Di cosa si tratta 50x, qual è il motivo storico / tecnico di questa scelta?

* Ho iniziato a esaminare questo aspetto quando mi sono incuriosito il motivo per cui il mio disco rigido esterno conteneva tutti i file eliminati .Trashes/501. La mia ricerca mi ha portato alla conclusione che 501l'ID utente per l'amministratore principale nei sistemi * nix (sono su macOS), ma non perché .


7
Pensavo che l'UID dell'amministratore principale fosse 0!
Jeff Schaller

Risposte:


21

Molti sistemi Unix iniziano a distribuire UID agli utenti a un determinato numero. Solaris fornirà il primo utente UID 100 per uso generale, su OpenBSD è 1000 e su macOS sembra che sia l'UID 501 che sarà l'UID per il primo utente interattivo creato, che è probabilmente anche un utente amministratore macOS (che non è lo stesso come utente root).

Gli account con numeri inferiori sono account utente di sistema per demoni, ecc. Ciò semplifica la distinzione tra account "umani" interattivi e account di servizi di sistema. Ciò può anche semplificare la gestione degli utenti, l'autenticazione ecc. In vari software. YP / NIS , un sistema leggermente obsoleto per mantenere gli account utente (e altre informazioni) su un server centrale senza dover creare utenti locali su più macchine client, ad esempio, ha un MINUIDe MAXUIDun'impostazione per la gamma di account utente che dovrebbe gestire.

Su alcuni Unice, una serie di account dei servizi di sistema può essere allocata a software di terze parti, come UID da 50 a 999 su FreeBSD o da 500 a 999 su OpenBSD.

Tutte queste gamme sono scelte dai produttori e dai manutentori dei singoli Unices in base alle esigenze attese del loro sistema operativo. Lo standard POSIX non dice nulla su queste cose. L'UID (e GID) allocabile più basso e più alto è spesso configurabile da un amministratore locale (consultare il addusermanuale).

La maggior parte degli Unices riserva l'UID 0 per root, il superutente, e assegna l'UID più alto possibile (o almeno un valore elevato) all'utente nobody(Solaris utilizza l'UID 60001, OpenBSD utilizza 32768, ma l'UID può essere molto più grande di quello).

(Vedi i commenti su UID 0 sempre root(o no), che è una leggera digressione da questo argomento)


Aggiornamento: il progetto OpenBSD ha recentemente respinto l'idea di randomizzare l'allocazione UID / GID.


Nota anche che queste sono semplicemente CONVENZIONI. Nei sistemi Unix e simili a Unix, non c'è nulla di intrinsecamente magico in un UID. A Root potrebbe essere assegnato arbitrariamente un UID di 65535 e il primo utente interattivo potrebbe essere assegnato come UID 0.
Doug R.

@DougR. Forse, ma molto probabilmente si spezzerebbe un certo numero di software esistenti. POSIX tende a dire che un processo necessita di "privilegi appropriati", non di un utente . Vedi anche la definizione di "privilegi appropriati" (che menziona l'UID 0 come "superutente" su alcuni sistemi): pubs.opengroup.org/onlinepubs/9699919799/xrat/…
Kusalananda

Il privilegio sull'utente è stato il punto del mio commento, anche se non l'ho dichiarato chiaramente come hai appena fatto. L'unico software che dovrebbe rompersi è il software che si basa sul suo UID in un intervallo specifico. Non sono sicuro di cosa, se non altro, lo fa.
Doug R.,


8

Per le distribuzioni che seguono l' LSB , assegnano staticamente UID e GID 0-99. Gli UID 100-499 vengono allocati in modo dinamico, ma anche per il sistema e non per gli account di accesso.

Ad esempio, la stampa di daemon come cupstende ad essere assegnata al proprio account utente. Quindi, se viene sfruttata una vulnerabilità nel demone, il demone non funziona come se avesse la rootpiena potenza del sistema. (Né ha necessariamente il potere di interferire con altri demoni).

Nelle più recenti distribuzioni Linux, la gamma di sistema è estesa fino a 999.

Ciò lascerebbe gli UID 500 verso l'alto (o 1000 verso l'alto) per gli account di accesso.

Debian ha inoltre un'allocazione statica perUIDGID 100, anche se non riesco a immaginare che la deviazione causi problemi particolari.

È facile immaginare un altro sistema con una deviazione off-by-one, che riserva inoltre l'UID 500. (Suppongo che sarebbe ancora conforme; Non posso immaginare che tutti i Linux abbiano violato l'LSB per così tanto tempo, senza in fase di aggiornamento).

Il primo account di accesso non deve essere né un account amministratore né l'account amministratore principale. I sistemi non usano necessariamente sudo(in particolare se lo precedono :). Si potrebbe dire che "l'account amministratore principale" è rootin quel caso. A parte questo, * nix e le distribuzioni Linux generiche non riconoscono un "account amministratore primario" specifico.


Non sono sicuro del motivo per cui stai parlando di Linux, quando OP chiede specificamente di Mac OS X.
un CVn

> modificato 7 ore fa> in * nix systems
sourcejedi

4
On more recent Linux distributions, the system range is extended up to 999.- Ho sempre avuto un ID utente dal 1000 in poi e ho iniziato a usare Linux nel 2005. Non lo definirei "recente".
Mirek Długosz,

Cosa ti fa pensare che 100 sia statico su Debian? Guardando un paio dei miei sistemi mi sembra dinamico (su uno era systemd-timesync, su un altro era sshd).
plugwash

Quando la domanda è stata modificata 12:22 UTC, l'OP ha aggiunto il tag [osx] insieme alla menzione di OS X nel corpo della domanda. La tua risposta è stata pubblicata dieci minuti dopo e sembra non tenerne conto affatto.
un CVn il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.