O problema está no uso de crypt
. De os documentos para pam_mysql :
crypt (0)
Specifies the method to encrypt the user's password:
0 (or "plain") = No encryption. Passwords stored in plaintext. HIGHLY DISCOURAGED.
1 (or "Y") = Use crypt(3) function
2 (or "mysql") = Use MySQL PASSWORD() function. It is possible that the encryption function used by pam-mysql is different from that of the MySQL server, as pam-mysql uses the function defined in MySQL's C-client API instead of using PASSWORD() SQL function in the query.
3 (or "md5") = Use MySQL MD5() function
Seu parâmetro crypt
está definido como 1
, o que significa que a função crypt
é usada. E isso é o que o crypt
está fazendo :
By taking the lowest 7 bits of each of the first eight characters of the key, a 56-bit key is obtained.
Você deve estar usando um dos outros esquemas de armazenamento (preferencialmente 2 ou 3) para permitir senhas mais longas.
Observe que você provavelmente precisaria verificar outras definições de serviço em /etc/pam.d e certificar-se de que tudo está coberto (se você tiver um servidor Cyrus IMAP autenticado com SASL no mesmo host, pelo menos / etc / pam.d / imap conteria registros semelhantes)
Ao alterar o esquema de criptografia de senha, você também perderá efetivamente todas as suas senhas armazenadas e precisará redefini-las.