Non credo ci sia alcun rischio intrinseco, questo è qualcosa che viene fatto semplicemente per creare una separazione tra quelli che sono considerati account di sistema e account utente. La mia pratica di usare numeri inferiori a 500, secondo la mia esperienza, è un Redhat-ism, e davvero niente di più.
Su Solaris avevo visto assegnare anche agli utenti numeri a partire da 100, solo a distanza di anni ho scoperto che quando si uniscono i sistemi di 2 dipartimenti più piccoli si crea un incubo, dato che c'erano più utenti nei 2 dipartimenti che avevano lo stesso UID / GID assegnato.
Questo è davvero il principale rischio / mal di testa quando si assegnano gli UID. Dato che l'UID è ciò che alla fine viene scritto nell'inode per i file / le directory di un utente, non vorrai che tutto ciò che ti serve sia performantefind
alla ricerca di file di proprietà dell'UID 1234 e che devono cambiarli in 5678 .
Quindi, riflettendo sulla selezione degli UID, gli amministratori possono evitare il mal di testa lungo la strada.
L'uso di 500 e superiori è solo un tentativo da parte di Redhat (e di altri Unix) di darsi abbastanza buffer che qualsiasi account di sistema che potrebbe essere necessario creare non verrà mescolato con gli UID assegnati agli utenti.
/etc/login.defs
Per inciso, il numero 500 è guidato da questa impostazione nel file di configurazione, /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
Puoi cambiarlo in qualsiasi cosa desideri, se desideri sovrascrivere il comportamento predefinito di useradd
/adduser
comandi.
Pagina man di Useradd
Se dai un'occhiata alla useradd
pagina man noterai questa parte che discute il valore predefinito per GID, ma questo commento è applicabile anche agli UID:
estratto
-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.
Account di sistema
Un altro aspetto da tenere presente nella useradd
pagina man è questo bit relativo alla generazione dell'account di sistema.
estratto
-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.
È questo metodo ( useradd -r ...
) che viene spesso utilizzato dagli script che è incorporato nei vari programmi di ricerca dei pacchetti, come RPM, quando viene installato un pacchetto. Lo scripting in questo modo consente al sistema di selezionare automaticamente il prossimo UID / GID disponibile su un determinato sistema senza il rischio di calpestare UID / GID già assegnati agli utenti del sistema.