Por que um novo usuário herdou arquivos de um usuário excluído?

24

Então eu tive que fazer um exercício em um livro como lição de casa. Primeiro você tinha que criar um usuário como:

useradd -c "Steven Baxter" -s "/bin/sh" sbaxter

Em seguida, você precisou adicionar alguns arquivos ao diretório /home/sbaxter :

touch /home/sbaxter/ some.txt new.txt files.txt

Você precisou remover o usuário sbaxter e criar um novo usuário chamado mjane . Para minha surpresa quando eu corri find /home/ -user mjane , o novo usuário mjane agora possuía todos os arquivos antigos do sbaxter, o que aconteceu?

    
por John 26.08.2013 / 04:45

2 respostas

41

O diabo está nos detalhes, na página useradd man (você pode ver isso emitindo man 8 useradd ):

   -u, --uid UID
       The numerical value of the user's ID. This value must be unique,
       unless the -o option is used. The value must be non-negative. The
       default is to use the smallest ID value greater than or equal to
       UID_MIN and greater than every other user.

Portanto, o padrão será usar o menor uid não usado, que é maior que os outros usuários, no arquivo de senha. Vendo como deletar o sbaxter removeu-o do arquivo passwd, seu uid é "free" e é atribuído ao mjane (já que o uid useradd picks é o mesmo para ambos os usuários no momento em que o comando useradd foi usado).

Arquivos no disco armazenam apenas o uid, e NÃO a tradução do nome do usuário (como esta tradução está definida no arquivo de senha). Você pode confirmar isso emitindo ls -ln para ver o que os arquivos de propriedade uid possuem.

Eu recomendaria que você desativasse em vez de excluir contas. O bloqueio de contas na maioria das distribuições Linux pode ser obtido com usermod -L -e today <username> , que bloqueia a senha e define a conta para expirar hoje (você pode ver a data de expiração de uma conta com chage -l ).

    
por 26.08.2013 / 04:53
12

O UID do usuário excluído foi reutilizado pelo novo usuário e os sistemas de arquivos usam um UID como propriedade, não como nome de usuário.

    
por 26.08.2013 / 04:53