No creo que haya ningún riesgo inherente, esto es algo que se hace simplemente para crear una separación entre lo que se consideran cuentas del sistema y cuentas de usuario. La práctica de usar números por debajo de 500, desde mi experiencia, es un Redhat-ismo, y realmente nada más que eso.
En Solaris, también vi a los usuarios asignándose números a partir de 100, solo años después descubrí que al fusionar 2 sistemas de departamentos más pequeños causa una especie de pesadilla, ya que había varios usuarios en los 2 departamentos que tenían el mismo UID / GID's asignado.
Este es realmente el principal riesgo / dolor de cabeza al asignar los UID. Dado que el UID es lo que finalmente se escribe en el inodo para los archivos / directorios dados por un usuario, no debe tener que realizar en find
el futuro una búsqueda masiva de archivos que pertenecen al UID 1234 y tener que cambiarlos a 5678 .
Entonces, al pensar un poco en la selección de UID, los administradores pueden evitar el dolor de cabeza en el futuro.
El uso de 500 y superiores es solo un intento de Redhat (y otros Unixes) para obtener suficiente búfer para que cualquier cuenta del sistema que deba crearse no se mezcle con los UID asignados a los usuarios.
/etc/login.defs
Por cierto, el número 500 es impulsado por esta configuración en el archivo de configuración, /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
Puede cambiar esto a lo que desee, si desea anular el comportamiento predeterminado por useradd
/adduser
command.
Página de manual de Useradd
Si echa un vistazo a la useradd
página de manual, notará esta parte que analiza el valor predeterminado para GID, pero este comentario también se aplica a los UID también:
extracto
-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.
Cuentas del sistema
Otra cosa a tener en cuenta en la useradd
página del manual es este bit en la generación de la cuenta del sistema.
extracto
-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.
Es este método ( useradd -r ...
) que a menudo se usa mediante secuencias de comandos lo que se incorpora a los distintos administradores de paquetes, como RPM, cuando se instala un paquete. La secuencia de comandos de esta manera permite que el sistema seleccione automáticamente el siguiente UID / GID disponible en un sistema determinado sin riesgo de pisar los UID / GID ya asignados a los usuarios del sistema.