Não acredito que exista um risco inerente, isso é feito simplesmente para criar uma separação entre o que é considerado contas de sistema e contas de usuário. A prática de usar números abaixo de 500, pela minha experiência, é um redhatismo, e realmente nada além disso.
No Solaris, eu vi usuários recebendo números atribuídos a partir de 100 também, apenas anos depois descobrem que, quando a fusão de sistemas de dois departamentos menores causa um tipo de pesadelo, já que havia vários usuários nos 2 departamentos que tinham o mesmo UID / GID's atribuídos.
Este é realmente o principal risco / dor de cabeça ao atribuir os UIDs. Como o UID é o que está finalmente escrito no inode para os arquivos / diretórios de um usuário, não é necessário que você tenha que executar maciços find
arquivos que pertencem ao UID 1234 e precisar alterá-los para 5678 .
Portanto, pensando um pouco na seleção de UIDs, os administradores podem evitar dores de cabeça no caminho.
O uso de 500 e acima é apenas uma tentativa do Redhat (e outros Unixes) de fornecer buffer suficiente para que quaisquer contas do sistema que precisem ser criadas não sejam misturadas com UIDs atribuídos aos usuários.
/etc/login.defs
Aliás, o número 500 é direcionado por essa configuração no arquivo de configuração /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
Você pode alterar isso para o que quiser, se desejar substituir o comportamento padrão por useradd
/ adduser
comandos.
Página de manual Useradd
Se você der uma olhada na useradd
página de manual, notará esta parte que discute o valor padrão do GID, mas esse comentário também é aplicável aos UIDs também:
excerto
-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.
Contas do sistema
Outras coisas a serem observadas na useradd
página de manual é esse pouco sobre a geração de contas do sistema.
excerto
-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.
É esse método ( useradd -r ...
) que geralmente é usado pelos scripts que são incorporados aos vários gerenciadores de pacotes, como o RPM, quando um pacote está sendo instalado. O script dessa maneira permite que o sistema selecione automaticamente o próximo UID / GID disponível em um determinado sistema, sem o risco de pisar nos UIDs / GIDs já atribuídos aos usuários do sistema.