Estou usando o Ubuntu 16.04.3 LTS Server. Eu tenho um usuário com privilégios de sudo nele. Quando tento mudar do meu usuário atual para o root, ele pede minha senha. Eu digitei a senha correta e ela recusa minha senha.
username@server:/ sudo su
[sudo] password for username:
Sorry, try again.
[sudo] password for username:
Sorry, try again.
[sudo] password for username:
sudo: 3 incorrect password attempts
Felizmente, tenho outra janela de terminal aberta, onde ainda estou logado como root. Então, tentei redefinir a senha do meu usuário. Diz que atualizei o usuário com sucesso.
root@server:/# passwd username
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Então eu tentei o comando sudo su
novamente. Ele falha com as mesmas mensagens.
Eu abro uma nova janela de terminal para o mesmo usuário e tento sudo su
e o mesmo comando falha com as mesmas mensagens.
Eu também tentei desbloquear o usuário sudo usermod --expiredate -1 username
. Isso também não resolveu o problema.
Eu também tentei conceder ao usuário direitos "sudo" usermod -aG sudo username
. E o usuário ainda tinha o problema.
Eu desisti e acabei de criar um novo usuário com direitos sudo e comecei a usar o novo usuário. No dia seguinte, comecei a ter exatamente os mesmos problemas com o novo usuário.
O comando pwck
lista várias contas do sistema e mensagens sobre seus diretórios pessoais, mas nada mais. O comando grpck
não fornece nenhuma mensagem.
Recentemente, adicionamos a autenticação "pam" há cerca de um mês.
/etc/pam.d/sudo
#%PAM-1.0
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive
/etc/pam.d/common-auth
auth required pam_tally2.so deny=5 unlock_time=600
# here are the per-package modules (the "Primary" block)
auth [success=1 default=ignore] pam_unix.so nullok_secure
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
/etc/pam.d/common-account
# here are the per-package modules (the "Primary" block)
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
# here's the fallback if no module succeeds
account requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
/etc/pam.d/common-session-noninteractive
# here are the per-package modules (the "Primary" block)
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# The pam_umask module will set the umask according to the system default in
# /etc/login.defs and user settings, solving the problem of different
# umask settings with different shells, display managers, remote sessions etc.
# See "man pam_umask".
session optional pam_umask.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
# end of pam-auth-update config
Graças a @telcoM e @roaima, descobri que o módulo de autenticação pam é a causa do problema.
root@server:/# pam_tally2
Login Failures Latest failure From
username 53 06/05/18 16:53:42 xxx.xxx.xxx.xxx
Embora eu tenha encontrado a causa do problema, não entendo o comportamento. Talvez eu tenha algo configurado incorretamente no módulo pam. Toda vez que eu digito sudo su
(com sucesso ou não), uma falha é adicionada ao pam_tally2
. Eu não tenho idéia porque digitar com sucesso a senha correta aumentaria as tentativas de falha, mas é. Exemplo abaixo.
pam_tally2
Login Failures Latest failure From
username 0 06/05/18 16:53:42 xxx.xxx.xxx.xxx
username@server:/ sudo su
[sudo] password for username:
root@server:/#
pam_tally2
Login Failures Latest failure From
username 1 06/05/18 16:54:03 xxx.xxx.xxx.xxx
Usar sudo -s
ou sudo -i
também resulta no incremento das falhas no pam_tally2
.