Estou usando o Fedora 19. Por padrão, é configurado com o pam para desativar senhas ruins, como "senha". Isso é bom. Tentar alterar esse padrão é irritante. Esta é uma caixa para testar coisas internas, não conectadas à Internet, nem qualquer máquina que seja. Senhas ruins facilitam o processo de teste. Como alternativa, como diabos você altera os requisitos de senha?
autenticação do sistema
man pam_cracklib
tem alguns ótimos exemplos de configuração de requisitos de senha diferentes. Então eu abro /etc/pam.d/system-auth
, que é onde você vê linhas como:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password requisite pam_pwquality.so try_first_pass retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
* Headdesk *. Na minha experiência, avisos como esse significam que suas alterações são apagadas toda vez que o gerenciador de pacotes é executado e / ou aleatoriamente.
authconfig
Então ... authconfig
é o próximo passo. Eu procuro todos os arquivos chamados "authconfig". /etc/sysconfig/authconfig
parece promissor. E nenhum aviso no topo sobre destruir minhas edições por capricho. Eu encontro essa linha USEPWQUALITY=yes
e mudo. Agora eu corro:
# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>
wtf. Então, vamos ler man authconfig
um pouco mais de perto. Oh! Parece que esse arquivo não foi lido pelo authconfig, foi alterado . Então .... como você configura o authconfig? O manual sugere system-config-authentication
, que eu instalo e não fornece nada parecido com uma caixa de seleção para desativar o pam_pwquality. A próxima sugestão do manual são as opções de linha de comando. Ótimo! Eu amo ferramentas de linha de comando. Somente nenhuma das opções de linha de comando documentadas desabilita pam_pwquality.
pwquality.conf
Graças à resposta de Aaron, aprendi que há alguns anos o fedora decidiu criar /etc/security/pwquality.conf
o local para configurar os requisitos de qualidade de senha. Infelizmente, conforme documentado no arquivo e em man 5 pwquality.conf
, (1) não há uma maneira de desativar a verificação do dicionário e (2) não é possível definir o tamanho permitido da senha abaixo de seis.
yum remove pam
remove, tanto quanto eu posso dizer pelo tempo que leva para rolar todos os seus pacotes dependentes, tudo . Incluindo yum e systemd. Além disso, desabilitar o pam parece uma marreta, quando acho que só quero usar papel de areia.Respostas:
Depois de uma rápida análise do código fonte em
/usr/sbin/authconfig
e/usr/share/authconfig/authinfo.py
:authconfig --help
/etc/security/pwquality.conf
configurações como tamanho mínimo da senha), exceto a própria qualidade. IMHO, isso é um bug e deve ser relatado.Das
authinfo.py
linhas 2489 e 2156:Primeiro
readSysconfig
lê/etc/sysconfig/authconfig
; então o que você coloca lá é substituído peloreadPAM
que está em/etc/pam.d/*
(especialmentepassword_auth*
esystem_auth*
):TL; DR : para as opções que não são substituídas (ou não podem ser), as configurações são obtidas da configuração atual, incluindo arquivos marcados com geração automática . Para fazê-lo funcionar, edite
/etc/sysconfig/authconfig
e remova as linhas mostradas porgrep -E pwq\|crack /etc/pam.d/*
Edit : Existe um segundo bug, que faz com que o conselho acima ainda não funcione: linha 2248:
Você deve escolher uma das duas implementações do controle de qualidade, ou uma será escolhida para você! Combinado com o primeiro bug, isso impossibilita a desativação.
fonte
Você pode assumir o controle manual sobre seu
system-auth
arquivo. Crie um novo arquivo (você pode começar copiandosystem-auth-ac
) e altere osystem-auth
link simbólico para apontar para o novo arquivo.Isso torna sua responsabilidade atualizar esta parte da configuração do PAM, pois o authconfig não tocará mais no link simbólico ou no arquivo para o qual aponta. No entanto, o authconfig ainda atualizará o
system-auth-ac
arquivo, para que você possa continuar a usá-lo como referência, se necessário. Com alguma inteligência, você pode até conseguirinclude
isso na sua cópia local, mas como fazer isso está além do escopo desta pergunta.Você também deve procurar outros links simbólicos, como
password-auth
. Você pode precisar dar o mesmo tratamento.Na página de
authconfig(8)
manual, emFiles
:Portanto, se
system-auth
for um arquivo, o authconfig o altera para vincularsystem-auth-ac
. Mas sesystem-auth
for um link simbólico, então o authconfig o deixa em paz.fonte
Parece ser configurável através
/etc/security/pwquality.conf
Fonte: https://fedoraproject.org/wiki/Features/PasswordQualityChecking
fonte
pwquality.conf
não suporta desabilitar as verificações de dicionário ou desabilitar as verificações de comprimento de senha.authconfig --updateall
redefine os arquivos. Estou completamente perplexo com essa resposta, pois contradiz diretamente o comportamento que estou observando.USEPWQUALITY=no
e / ouUSECRACKLIB=no
não resolve o meu problema, mesmo antes de executar o authconfig.Você ainda pode mudar na linha de comando. Você recebe um aviso, mas permite definir uma senha muito curta e uma que não atenda às regras de complexidade.
fonte
passwd <username>
comando como root (ou comsudo passwd <username>
ou depoissu -
do terminal de raiz.passwd
como root, ele ignora as políticas de senha. Se você precisar configurá-lo apenas uma vez e esquecê-lo, isso funcionará. Se você estiver tentando configurá-lo para que cada usuário possa alterar livremente suas senhas, precisará de outra solução.passwd
sem ser modificado pelo pam. Pouco tem a ver com a questão real, mas torna verdadeira a afirmação nesta "resposta".Acabei de encontrar esta pergunta com base em uma pesquisa relacionada e acho que tenho uma resposta para você.
O Fedora cria links simbólicos para os arquivos gerados pelo authconfig. ie
system-auth
links parasystem-auth-ac
. Se você criarsystem-auth
seu próprio arquivo, teoricamente, quaisquer alterações futuras feitas porauth-config
ainda serão atualizadas,system-auth-ac
mas manterão os arquivos modificados inalterados.Na verdade, é bastante elegante, mas só o descobri quando me perguntei o que os
*-ac
arquivos fizeram.fonte
authconfig
(por exemploauthconfig --updateall
) excluirá seu arquivo e o vinculará novamente ao-ac
arquivo.