Estou tentando usar o PAM para impedir a reutilização de senha. Adicionar 'remember = 24' ao pam_unix armazena as senhas antigas com hash no MD5, o que eu acho irritante. Eu fui recomendado 'pam_pwhistory' em vez disso. Aqui está a seção de senha do meu arquivo /etc/pam.d/system-auth que o /etc/pam.d/passwd inclui
password requisite pam_cracklib.so retry=3 try_first_pass
password requisite pam_pwhistory.so remember=24 retry=3 use_authtok
password sufficient pam_unix.so sha512 rounds=5000 shadow use_authtok
password required pam_deny.so
Quando tento alterar minha senha, se eu falhar no teste de reutilização de senha, não tentei novamente. Em vez disso, aparece o aviso "Password:"
$ passwd
(current) Unix password: <current password>
New password: <old password>
Retype new password: <old_password>
Password has already been used. Choose another.
Password: <current password>
passwd: Authentication token manipulation error
Eu tenho o mesmo problema se falhar o teste pam_cracklib mais do que tentar novamente #. Exceto que minha senha atual funciona com o prompt
$ passwd
(current) Unix password: <correct password>
New password: <too simple password>
BAD PASSWORD: it too simple
New password: <too simple password>
BAD PASSWORD: it too simple
New password: <too simple password>
BAD PASSWORD: it too simple
Password: <current password>
passwd: Have exhausted maximum number of retries for service
Se eu definir a repetição = 1 para o pam_pwhistory, a senha atual funcionará para o prompt.
$ passwd
(current) Unix password: <current password>
New password: <old password>
Retype new password: <old_password>
Password has already been used. Choose another.
Password: <current password>
passwd: Have exhausted maximum number of retries for service
A incapacidade de tentar novamente se você usar uma senha antiga e essa estranha "Senha:" é o único problema. As senhas antigas são armazenadas em / etc / security / opasswd usando sua função hash original. Parece que
pam_pwhistory não pode tentar novamente porque está no meio da pilha?
Uma falha no pam_pwhistory não faz com que o pam_unix falhe. solicita ao usuário?
Eu estou em um CentOS 6.3