Estou implementando uma política de segurança que forçará os usuários a introduzir senhas mais restritas quando mudarem as próprias:
O arquivo de configuração /etc/pam.d/passwd
é:
#%PAM-1.0
auth include common-auth
account include common-account
password include common-password
session include common-session
Então, eu fiz alterações neste arquivo /etc/pam.d/common-password
.
O arquivo common-password
padrão vem com estas duas linhas:
password requisite pam_pwcheck.so nullok cracklib
password required pam_unix2.so use_authtok nullok
Eu preciso adicionar várias opções ao pam_pwcheck (não há problema com isso) e outro módulo PAM (pam_cracklib) para tornar as senhas mais strongs. Em seguida, é meu arquivo /etc/pam.d/common-password
final, incluído em passwd
:
password requisite pam_cracklib.so minclass=3 retry=3
password requisite pam_pwcheck.so nullok cracklib minlen=10 remember=5
password required pam_unix2.so use_authtok nullok
Meu problema ocorre quando eu tenho os dois módulos PAM configurados: se eu introduzir uma senha correta, ela funcionará bem. Se eu introduzir uma senha incorreta que deve ser rejeitada por pam_cracklib
(por exemplo, uma senha com apenas letras minúsculas), ela funciona bem (rejeita a senha sem problemas).
Mas quando eu introduzo uma senha que é válida para cracklib
mas não para pwcheck
(uma senha com maiúsculas, minúsculas e números de 7 caracteres), ela rejeita a senha, mas esse erro é mostrado:
Bad password: too short
passwd: Authentication token manipulation error
Portanto, pam_pwcheck
imprime sua mensagem de erro ( Bad password: too short
), mas algo ruim acontece com a cadeia PAM.
Você sabe o que está errado na minha configuração?
P.S. Os requisitos de "segurança" não são meus, então, por favor, evite comentários sobre isso; -).