O comando passwd
usa o PAM (Pluggable Authentication Modules), que solicita ao usuário senhas e atualiza os hashes de senha em /etc/shadow
e / ou qualquer outro back-end de autenticação que você tenha configurado. O PAM para o comando passwd
está configurado em /etc/pam.d/passwd
, que, no seu caso, inclui apenas /etc/pam.d/common-password
.
Você pode ler uma breve introdução sobre o PAM com man 7 pam
.
Agora eu não estou familiarizado com o Plesk, e ainda sou um pouco amador quando se trata de PAM, mas eu estaria inclinado a trocar as duas primeiras linhas não em branco, sem comentários, de modo que pam_unix
vem antes de pam_plesk
:
...
# here are the per-package modules (the "Primary" block)
password [success=1 default=ignore] pam_unix.so obscure sha512
password optional pam_plesk.so try_first_pass
# here's the fallback if no module succeeds
password requisite pam_deny.so
...
Eu vou te dizer o porquê. Você vê essa opção try_first_pass
depois de pam_plesk
? Isso significa que, se esse módulo específico estiver sendo executado após um diferente, um que já tenha solicitado a senha do usuário, ele deverá tentar reutilizá-la em vez de perguntar novamente. No entanto, como pam_plesk
é executado primeiro, não há senhas já digitadas para tentar, portanto, você obtém os dois primeiros prompts. E então pam_unix
é executado, e ele não tem try_first_pass
, então você recebe os outros dois prompts.
Como alternativa, você pode tentar adicionar try_first_pass
à linha pam_unix
.
Faça um backup do arquivo common-passwd
, apenas no caso, para que você possa rever as alterações se elas não funcionarem. Eu não tenho acesso ao Plesk, então não posso testar as alterações sugeridas por mim mesmo.