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

48

Eu sei que é uma idéia "ruim", eu sei que não é seguro, eu sei. Eu procurei na net por uma resposta e tudo o que vi foi reclamar que não é bom. Mas eu gosto de usar o Linux porque me permite criar o sistema que quero e gosto de usar. O fim da introdução.

Eu tento mudar a senha:

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

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

Após pesquisar no Google, descobri que deveria haver o módulo PAM pam_cracklib que testa a senha quanto à complexidade 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, recebi uma iluminação e digitei o man pam_unixterminal onde encontrei as opções necessárias para o módulo pam_unix.

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

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

e posso definir qualquer senha que desejar.

Decidi manter este post para pessoas que também precisam dessa solução. Desculpe e obrigado.

rslnx
fonte
Eu não posso responder minha própria pergunta por 8 horas depois de pedir, vou esperar :)
rslnx
Eu simplesmente queria mudar meu pwd para 123. Não era possível fazer isso com passwd. Tentei "sudo passwd <nome_do_usuário>" e funcionou como um encanto. Não precisava do resto do mumbo-jumbo. Obrigado por essa parte! :)
zeFree
@zeFree, o ponto-chave da minha solução é permitir que qualquer usuário (não ter permissões sudo) para usar senhas simples
rslnx
11
Great Intro. Eu tenho um laptop Windows que gasta 50% de ciclos de CPU me protegendo contra vírus. Adivinha? Não precisa de nenhum vírus. O computador já não vale nada. Então .. o linux nos permite fazer o que queremos. Estou atrás de um firewall e o computador não sai de casa. Senha curta? Sim por favor.
Javadba
@rslnx Acho que quando você está postando sua pergunta, você tem a opção de fornecer uma resposta imediatamente; Eu acho que o atraso 8 horas é só lá se você não publicar o seu Q / A par ao mesmo tempo
JRH

Respostas:

53

Ok, vou responder minha pergunta :)

Eu descobri que o pam_unixmódulo executa a verificação da complexidade da 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 no /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 o comprimento mínimo de 1.

rslnx
fonte
Detalhes relacionados à complexidade da senha: askubuntu.com/questions/244115/…
Kevin Bowen
11

Se estiver desativado uma vez, usando o comando passwd como root, você pode definir uma senha simples para um usuário, digitando o valor desejado.

sudo su && passwd username

e digite a senha duas vezes nos avisos.

sweetfa
fonte
11
Ele quer dizer que, em sudo su && passwd usernameseguida, o Linux permitirá que você use qualquer senha que desejar.
usuário
7

Abra o arquivo de configuração de senha comum para edição

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

Comente esta linha:

#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...

rptr87
fonte
Para sua informação, não há nenhuma linha pam_passwdqc.so na minha instalação padrão do servidor 14.04. Talvez alguém (admin?) Tenha adicionado de propósito? ;)
Tomofumi