O que significa um! antes do campo username em / etc / passwd?

2

Depois de fazer algumas pesquisas, não consegui encontrar o porquê no /etc/passwd

mostra um ! no início da linha.

Parece assim:

!user:x:0:0:user:/home/user:/bin/bash

alguma ideia? meu único palpite é que talvez o usuário não exista mais.

    
por user2171775 19.11.2015 / 18:46

3 respostas

3

Isso essencialmente não faz nada além de alterar o nome de usuário para !user , portanto, se você tentar fazer o login como user , verá:

No passwd entry for user 'user'

como o nome de usuário foi alterado para !user .

Agora, se você alterar o /etc/shadow e definir o nome de usuário como !user , poderá fazer login como o usuário !user usando a mesma senha usada para user .

Se você quiser impedir que um usuário efetue login usando uma senha, adicione um ! ao campo de senha de /etc/shadow ou use melhor o comando passwd -l .

    
por 19.11.2015 / 19:23
2

Em wikipedia :

"!" – the account is password locked, user will be unable to log-in via password authentication but other methods (e.g. ssh key) may be still allowed)[7]

Além disso, parece também que a significância de ! em /etc/passwd pode variar dependendo da posição (cólon) que é. Neste link eles fornecem um exemplo de entradas onde o ! está localizado no campo de senha, assim:

root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:

e eles explicam que

If a user ID has a password, then the password field will have an ! (exclamation point).

    
por 19.11.2015 / 19:13
0

O fato de a entrada ainda existir no arquivo /etc/passwd significa que o usuário ainda existe. Colocando um '!' no início da linha é, até onde eu sei, não um procedimento padrão, mas teria o efeito de desativar logins para esse usuário.

    
por 19.11.2015 / 19:10