Há um hack e, em seguida, há uma maneira de fazer isso correto .
A maneira hacky é aumentar UID_MIN
e GID_MIN
em /etc/login.defs
para que seus UIDs reservados fiquem entre SYS_UID_MAX
e UID_MIN
e GIDs (se houver) entre SYS_GID_MAX
e GID_MIN
. Dessa forma, as ferramentas normais ( useradd
, adduser
, usermod
, etc.) não as usam para novas contas de usuário, a menos que você as force (especificando explicitamente o novo UID e / ou GID). Pode ser necessário remapear todos os UIDs existentes nesse novo intervalo de lacunas para o intervalo UID_MIN
.. UID_MAX
e os GIDs para o intervalo GID_MIN
.. GID_MAX
, para que as ferramentas os tratem como contas de usuário normais. / p>
O caminho certo é além disso configurar NSS (e PAM, geralmente) para ver esses usuários reservados, para que as ferramentas não fiquem confusas.
A maneira mais simples de fazer isso é usar o módulo libnss-extrausers
NSS e pam_extrausers
do módulo PAM, para que você possa colocar esses usuários especiais em /var/lib/extrausers/passwd
(e entradas sem senha em /var/lib/extrausers/shadow
), mais Opcionalmente, agrupe informações em /var/lib/extrausers/groups
. Esses módulos devem estar disponíveis em todas as distribuições comuns do Linux.
Observe que, se você adicionar esses usuários ao NSS / PAM, poderá estender SYS_UID_MAX
e SYS_GID_MAX
para cobrir esses usuários reservados, apenas como precaução: Veja, eu não verifiquei se / quais As ferramentas listam apenas os usuários UID_MIN
.. UID_MAX
ou simplesmente excluem os usuários SYS_UID_MIN
.. SYS_UID_MAX
. Eu suspeito que há muitos programadores que erroneamente acreditam que os dois conjuntos são complementos um do outro, portanto, tratar esses UIDs / GIDs reservados como contas do sistema é provavelmente a opção mais segura.