Eu não acredito que exista qualquer risco inerente, isso é algo que é feito simplesmente para criar separação entre o que são considerados contas do sistema e contas de usuário. A prática de usar números abaixo de 500, da minha experiência, é um Redhat-ism e, na verdade, nada mais que isso.
No Solaris, eu vi os usuários sendo atribuídos a partir dos 100, e só anos depois descobri que ao mesclar dois sistemas de departamentos menores, há um tipo de pesadelo, já que havia vários usuários nos dois departamentos que tinham o mesmo UID / GID atribuído.
Este é realmente o principal risco / dor de cabeça ao atribuir os UIDs. Como o UID é o que está escrito no inode para os arquivos / diretórios dados de um usuário, você não quer ter que executar grandes find
procurando arquivos que são de propriedade do UID 1234 e ter que mudar -los para 5678.
Então, colocando algum pensamento na seleção de UIDs, os administradores podem evitar a dor de cabeça no caminho.
O uso de 500 e acima é apenas uma tentativa do Redhat (e de outros Unixes) de fornecer buffer suficiente para que qualquer conta do sistema que precise ser criada não seja mesclada com UIDs atribuídos aos usuários.
/etc/login.defs
Aliás, o número 500 é acionado 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 qualquer coisa que desejar, se quiser substituir o comportamento padrão pelos comandos useradd
/ adduser
.
Página man do Useradd
Se você der uma olhada na página useradd
man, notará essa parte que discute o valor padrão do GID, mas esse comentário também é aplicável aos UIDs:
trecho
-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
Uma outra coisa que deve ser notada na página useradd
man é esse bit na geração de conta do sistema.
trecho
-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 muitas vezes é usado pelo script incorporado aos vários gerenciadores de pacotes, como o RPM, quando um pacote está sendo instalado. O script desta maneira permite que o sistema selecione automaticamente o próximo UID / GID disponível em um determinado sistema sem o risco de pisar em UIDs / GIDs já atribuídos a usuários do sistema.