Rozumiem * użytkownik podstawowy Administrator otrzymuje identyfikator użytkownika 501
i kolejni użytkownicy uzyskać numery przyrostowych ( 502
, 503
...). Ale dlaczego 501
? Co jest specjalnego 50x
, jaki jest historyczny / techniczny powód tego wyboru?
* Zacząłem się tym zajmować, kiedy zacząłem się zastanawiać, dlaczego w moim zewnętrznym dysku twardym są wszystkie swoje pliki .Trashes/501
. Moje wyszukiwanie doprowadziło mnie do wniosku, że 501
jest to identyfikator użytkownika głównego administratora w systemach * nix (jestem na macOS), ale nie dlaczego .
osx
users
history
unix-philosophy
użytkownik137369
źródło
źródło
Odpowiedzi:
Wiele systemów uniksowych zaczyna rozdawać identyfikatory UID użytkownikom o określonej liczbie. Solaris da pierwszemu użytkownikowi ogólnego przeznaczenia UID 100, na OpenBSD jest to 1000, a na macOS wydaje się, że to UID 501, który będzie UID dla pierwszego utworzonego interaktywnego użytkownika, który jest również prawdopodobnie administratorem macOS (który nie jest taki sam jako użytkownik root).
Konta o niższych numerach są kontami użytkowników systemu dla demonów itp. Ułatwia to odróżnianie interaktywnych kont „ludzkich” od kont usług systemowych. Może to również ułatwić zarządzanie użytkownikami, uwierzytelnianie itp. W różnych programach. YP / NIS , nieco przestarzały system utrzymywania kont użytkowników (i inne informacje) na centralnym serwerze bez konieczności tworzenia lokalnych użytkowników na wielu komputerach klienckich, na przykład, ma
MINUID
iMAXUID
ustawienie zakresie kont użytkowników, które powinny obsługiwać.W niektórych Uniksach zakres kont usług systemowych może być przypisany do oprogramowania innych firm, takiego jak UID od 50 do 999 w FreeBSD lub od 500 do 999 w OpenBSD.
Wszystkie te zakresy są wybierane przez twórców i opiekunów poszczególnych Unices zgodnie z oczekiwanymi potrzebami ich systemu operacyjnego. Standard POSIX nie mówi nic o tych rzeczach. Najniższy i najwyższy możliwy do przydzielenia identyfikator UID (i GID) jest często konfigurowany przez lokalnego administratora (patrz
adduser
instrukcja).Większość Uniksów rezerwuje UID 0 dla
root
superużytkownika i przypisuje najwyższy możliwy UID (lub przynajmniej pewną wysoką wartość) użytkownikowinobody
(Solaris używa UID 60001, OpenBSD używa 32768, ale UID mogą być znacznie większe).(Zobacz komentarze o tym, że UID 0 zawsze jest
root
(lub nie), co jest lekką dygresją w tym temacie)Aktualizacja: Projekt OpenBSD niedawno odrzucił pomysł losowego przydzielania UID / GID.
źródło
W przypadku dystrybucji następujących po LSB przydzielają UID i GID 0–99 statycznie. Identyfikatory UID 100-499 są przydzielane dynamicznie, ale dotyczą one również systemu, a nie kont logowania.
Na przykład takie demony drukujące
cups
zwykle mają przydzielone własne konto użytkownika. Jeśli więc zostanie wykorzystana luka w zabezpieczeniach demona, demon nie działa tak, jakbyroot
miał pełną kontrolę nad systemem. (Nie musi też mieć wpływu na inne demony).W nowszych wersjach systemu Linux zasięg systemu został rozszerzony do 999.
Pozostawiłoby to UID 500 w górę (lub 1000 w górę) dla kont logowania.
Debian ma dodatkowo statyczny przydział dla
UIDGID 100, chociaż nie mogę sobie wyobrazić, że to odchylenie powoduje jakikolwiek szczególny problem.Łatwo jest wyobrazić sobie inny system z odchyleniem off-by-one, który dodatkowo rezerwuje UID 500. (Zakładam, że nadal byłby zgodny; nie mogę sobie wyobrazić, że wszystkie Linuxy łamały LSB tak długo, bez jest aktualizowany).
Pierwsze konto logowania nie musi być ani kontem administratora, ani podstawowym kontem administratora. Systemy niekoniecznie używają
sudo
(zwłaszcza jeśli są wcześniejsze :). W takim przypadku możesz powiedzieć, że „podstawowe konto administratora”root
. Poza tym * nix i dystrybucje Linuksa ogólnego przeznaczenia nie rozpoznają określonego „podstawowego konta administratora”.źródło
On more recent Linux distributions, the system range is extended up to 999.
- Zawsze miałem identyfikator użytkownika od 1000 wzwyż i zacząłem używać Linuksa w 2005 roku. Nie nazwałbym tego „ostatnim”.