O que significa * e! no segundo campo de / etc / shadow?

20

Até onde eu sei, o segundo campo do / etc / shadow é a senha criptografada do usuário. Mas alguns usuários, por exemplo, daemonusuários têm *em campo, no meu ambiente (Ubuntu 12.04) root, !em campo.

Suponho que !meios como "toda a senha é inválida, você não pode fazer login com este usuário". Mas não consegui encontrar o documento para ele.

O que significa *e !no arquivo shadow?

ferros e areias
fonte

Respostas:

23

'!' e '!!' significam essencialmente a mesma coisa, mas ferramentas diferentes usam uma ou outra, passwd -lpor exemplo, usa um par de pontos de exclamação. usermod -Lpor outro lado, usa apenas um.

Normalmente, contas com '*' nunca tiveram uma senha (como em, sempre foram desativadas para o login). Isso é diferente de uma conta sem entrada de hash de senha; nesse caso, nenhuma senha é necessária (e muitas vezes nem será solicitada), o que é quase sempre MAU !.

Se for um hash inválido (que são todos os '*', '!' E '!!'), ele bloqueia efetivamente a conta e evita logins nessa conta. Geralmente, isso é aprimorado ao definir o shell da conta para algo como / bin / false ou / sbin / nologin no arquivo / etc / passwd

Você sempre descobrirá que, se a conta de um usuário for bloqueada após ter uma senha válida definida anteriormente, esse hash de senha possui pontos de exclamação com o prefixo, então quando a conta é desbloqueada, a senha volta a funcionar novamente.

Sirex
fonte
Obrigado pela sua explicação detalhada. Isso é muito útil!
ironsand
2
sem problemas. Uma coisa que esqueci de mencionar (mas impliquei) é ter o cuidado de bloquear a conta com a senha e tentar desbloqueá-la com o usermod. Ele removerá apenas o primeiro '!', Que não funcionará.
Sirex
2
A resposta não está 100% correta. Pela minha experiência, se você tiver um asterisco *nessa coluna, ainda poderá fazer login perfeitamente usando a autenticação de chave pública. Considerando que um !realmente bloqueia todos os logins para esse usuário.
Michael Härtl
2
isso depende da configuração do "usepam" no arquivo de configuração sshd. arlimus.github.io/articles/usepam
Sirex