Como alterar/desativar o teste de complexidade de senha ao alterar a senha?

Como alterar/desativar o teste de complexidade de senha ao alterar a senha?

Eu sei que é uma ideia “má”, sei que não é segura, eu sei. Procurei uma resposta na net e tudo que vi foi reclamar que não é bom. Mas gosto de usar Linux porque me permite criar o sistema que quero e gosto de usar. O fim da introdução.

Tento alterar a senha:

user:~% passwd
Changing password for user.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password

Se eu tentar sudo passwd user, posso definir qualquer senha que desejar, para não precisar de verificações de complexidade de senha para passwd em meu sistema.

Depois de pesquisar no Google, descobri que deveria haverPAMmódulo pam_cracklib que testa a complexidade da senha e pode ser configurado. Mas minhas configurações de senha do PAM não incluem pam_cracklib:

% cat /etc/pam.d/passwd | grep '^[^#]'
@include common-password
% cat /etc/pam.d/common-password | grep '^[^#]'
password    [success=1 default=ignore]  pam_unix.so obscure sha512
password    requisite           pam_deny.so
password    required            pam_permit.so
password    optional    pam_gnome_keyring.so 

Acho que o pam_unix faz esse teste... Opa... Pessoal, no momento em que terminei de escrever esta frase me iluminei e digitei man pam_unixno terminal onde encontrei as opções necessárias para o módulo pam_unix.

Acabei de remover a opção obscura e adicionei minlen=1 e agora estou feliz. Então agora eu tenho esta linha em /etc/pam.d/common-password:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

e posso definir qualquer senha.

Decidi manter este post para pessoas que também possam precisar desta solução.

Responder1

Ok, vou responder minha pergunta :)

Descobri que o pam_unixmódulo realiza verificação de complexidade de senha e pode ser configurado.

man pam_unix:

   minlen=n
       Set a minimum password length of n characters. The default value is
       6. The maximum for DES crypt-based passwords is 8 characters.

   obscure
       Enable some extra checks on password strength. These checks are
       based on the "obscure" checks in the original shadow package. The
       behavior is similar to the pam_cracklib module, but for
       non-dictionary-based checks.

Solução:
Altere a linha no pam_unixmódulo do /etc/pam.d/common-passwordarquivo para:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

Ele permite que você defina qualquer senha com comprimento mínimo de 1.

Responder2

Se for desativado uma vez, usando o comando passwd como root, você pode definir uma senha simples para um usuário simplesmente digitando o valor desejado e, em seguida, digitando a senha duas vezes nos prompts.

john@workpad:~$ sudo bash
[sudo] password for john: 
root@workpad:/home/john# passwd john
New password: 
Retype new password: 
passwd: password updated successfully
root@workpad:/home/john# exit
exit
john@workpad:~$ 

Responder3

Abra o common-passwordarquivo de configuração para edição:

sudo -H gedit /etc/pam.d/common-password

Comente esta linha adicionando o #caractere na frente, conforme mostrado:

#password   [success=2 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512

Comente também esta linha, caso contrário a configuração da senha solicitará que você passe uma mistura de letras maiúsculas/minúsculas:

#password   requisite           pam_passwdqc.so enforce=everyone max=18 min=disabled,8,8,1,1 retry=2 similar=deny

Agora basta adicionar esta linha no mesmo arquivo:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

Isso deve servir...

Responder4

Eu tentei TODOS os métodos em uma máquina com uma instalação estranha e muito rigorosa usando um PAM resistente à manipulação.

Nesta máquina, nenhum dos truques acima ajudou a alterar a senha de uma conta local (sem domínio do Windows) para algum novo valor. As regras do PAM sempre entraram em ação, mesmo ao usar sudo passwd

Alterações no /etc/pam.d/common-password resultaram na falha total do passwd devido a 'erro de manipulação'.

Minha solução foi definir a senha em outra máquina na qual eu também tenho acesso root e, em seguida, copiar/colar o valor hash do /etc/shadow dessa máquina para a outra simplesmente usando sudo vi /etc/shadow . O PAM estrito não bloqueou isso e funciona. (sim, eu sei que também copia o sal)

informação relacionada