Nie sądzę, aby istniało nieodłączne ryzyko, jest to po prostu zrobione, aby stworzyć separację między kontami systemowymi a kontami użytkowników. Z mojego doświadczenia wynika, że praktyką używania liczb poniżej 500 jest Redhatizm, a tak naprawdę nic więcej.
W systemie Solaris widziałem, że użytkownikom przypisuje się również numery zaczynające się od 100, ale dopiero po latach odkryłem, że połączenie systemów dwóch mniejszych działów powoduje pewien rodzaj koszmaru, ponieważ w dwóch działach było wielu użytkowników o tym samym UID / GID przypisany.
To jest naprawdę główne ryzyko / ból głowy podczas przypisywania identyfikatorów UID. Ponieważ UID jest tym, co ostatecznie zapisano do i-węzła dla podanych przez użytkownika plików / katalogów, nie chcesz, żebyś szedł dalej, masowo find
szukając plików, które są własnością UID 1234 i zmieniając je na 5678 .
Dlatego zastanawiając się nad wyborem identyfikatorów UID, administratorzy mogą uniknąć kłopotów na drodze.
Zastosowanie 500 i więcej jest po prostu próbą Redhata (i innych Uniksów), aby zapewnić sobie wystarczającą ilość bufora, aby wszelkie konta systemowe, które mogą wymagać utworzenia, nie zostały zmieszane z identyfikatorami UID przypisanymi do użytkowników.
/etc/login.defs
Nawiasem mówiąc, liczba 500 jest napędzany przez tego ustawienia w pliku konfiguracyjnym, /etc/login.defs
.
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500
GID_MAX 60000
Możesz zmienić to na dowolne, jeśli chcesz zastąpić domyślne zachowanie poleceniami useradd
/ adduser
.
Strona man dodana przez użytkownika
Jeśli spojrzysz na useradd
stronę manuala, zauważysz tę część, która omawia domyślną wartość GID, ale ten komentarz dotyczy również UID:
fragment
-g, --gid GROUP
The group name or number of the user´s initial login group. The group name
must exist. A group number must refer to an already existing group.
If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB
variable in /etc/login.defs. If this variable is set to yes
(or -U/--user-group is specified on the command line), a group will be
created for the user, with the same name as her loginname. If the variable
is set to no (or -N/--no-user-group is specified on the command line),
useradd will set the primary group of the new user to the value specified by
the GROUP variable in /etc/default/useradd, or 100 by default.
Konta systemowe
Inną rzeczą, na którą należy zwrócić uwagę na useradd
stronie podręcznika, jest ten bit dotyczący generowania kont systemowych.
fragment
-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow,
and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX
range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their
GID counterparts for the creation of groups).
Note that useradd will not create a home directory for such an user,
regardless of the default setting in /etc/login.defs (CREATE_HOME). You
have to specify the -m options if you want a home directory for a system
account to be created.
Ta metoda ( useradd -r ...
) jest często używana przez skrypty, które są wbudowane w różne menedżery pakietów, takie jak RPM, podczas instalowania pakietu. Skrypty w ten sposób umożliwiają systemowi automatyczne wybranie następnego dostępnego identyfikatora UID / GID w danym systemie bez ryzyka nadepnięcia na identyfikatory UID / GID przypisane już użytkownikom systemu.