Por que os IDs de usuário são reciclados?

12

No outro dia, excluí um usuário de um de nossos servidores. Esse usuário tinha o ID 1002.

Hoje, adicionei um novo usuário ao sistema. Para minha surpresa, ele conseguiu o ID do usuário 1002. Como eu esqueci de excluir o homedir do usuário excluído, o novo usuário agora possui o homedir do usuário antigo (assim como todos os outros recursos anteriormente pertencentes a ele 1002).

Eu teria assumido que os IDs de usuário nunca são reutilizados para evitar conflitos como esse. Por que eles são reciclados e devo cuidar / tomar precauções?

Der Hochstapler
fonte

Respostas:

16

Quando você exclui um usuário, as informações do usuário são completamente removidas, para que não haja informações diretas de que esse ID já tenha sido usado.

(As informações autorizadas do usuário são armazenadas /etc/passwd, o que é uma lista simples.)

Para evitar isso,

  • forçar outro ID ao criar novos usuários ou
  • mantenha a entrada do usuário por perto (apenas desative os logins) desde que você não tenha limpado os arquivos correspondentes. ( find'S -usere -nouseras opções de ajuda com este.)
CL.
fonte
2
A ação padrão é usar o próximo número mais alto encontrado na leitura /etc/passwd. Portanto, se você remover o último usuário adicionado (que terá o número mais alto), o próximo usuário criado reutilizará esse número.
StarNamer