Como desabilito ou modifico os requisitos de senha do pam?

8

Estou usando o Fedora 19. Por padrão, ele é configurado com pam para desativar senhas incorretas, como "senha". Isso é bom. Tentando mudar esse padrão é irritante. Esta é uma caixa para testar material interno, não conectado à Internet, nem qualquer máquina que esteja. Senhas incorretas facilitam o processo de teste. Alternativamente, como diabos você muda os requisitos de senha?

system-auth

man pam_cracklib tem ó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 por todos os arquivos chamados "authconfig". /etc/sysconfig/authconfig parece promissor. E, nenhum aviso no topo sobre a destruição de minhas edições por um capricho. Eu acho essa linha USEPWQUALITY=yes e mudei. 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 perto. Oh! Parece que o arquivo não é lido pelo authconfig, é 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 desabilitar o pam_pwquality. A próxima sugestão do manual é opções de linha de comando. Ótimo! Eu amo ferramentas de linha de comando. Apenas, nenhuma das opções de linha de comando documentadas desativa pam_pwquality.

pwquality.conf

Graças à resposta de Aaron, aprendi que alguns anos atrás o fedora decidiu fazer /etc/security/pwquality.conf o local para configurar os requisitos de qualidade da senha. Infelizmente, conforme documentado no arquivo e em man 5 pwquality.conf , não há uma maneira de desabilitar a verificação do dicionário e (2) não é possível definir o tamanho permitido da senha abaixo de seis.

    
por djeikyb 19.09.2013 / 19:15

5 respostas

4

Depois de uma olhada superficial no código-fonte em /usr/sbin/authconfig e /usr/share/authconfig/authinfo.py :

  • A página man está incompleta, a lista completa de opções aceitas pelo script está em authconfig --help
  • Tudo pode ser substituído na linha de comando (até /etc/security/pwquality.conf configurações como comprimento mínimo de senha), exceto pwquality em si. IMHO, este é um bug e deve ser reportado.
  • De authinfo.py linha 2489 e 2156:

    def read(self):
      self.readSysconfig()
      ...
      self.readPAM(ref)
      ...
    

    Primeiro readSysconfig/etc/sysconfig/authconfig ; então o que você coloca lá é sobrescrito por readPAM com o que está em /etc/pam.d/* (especialmente password_auth* e system_auth* ):

      if module.startswith("pam_cracklib") or module.startswith("pam_pwquality"):
         self.setParam("enablePWQuality", True, ref)
    

TL; DR : para as opções que não são sobrepostas (ou não podem ser), as configurações são tiradas da configuração atual incluindo arquivos que são marcados como autogerados . Para que isso funcione, edite /etc/sysconfig/authconfig e remova as linhas mostradas por grep -E pwq\|crack /etc/pam.d/*

Editar : Existe um segundo bug, o que faz com que o aviso acima ainda não funcione: linha 2248:

    # Special handling for pam_pwquality and pam_passwdqc: there can be
    # only one.
    if self.enablePWQuality and self.enablePasswdQC:
            self.setParam("enablePasswdQC", False, ref)
    if not self.enablePWQuality and not self.enablePasswdQC:
            self.setParam("enablePWQuality", True, ref)

Você tem que 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.

    
por 29.03.2015 / 15:25
1

Parece ser configurável através de /etc/security/pwquality.conf

Fonte: link

    
por 19.09.2013 / 23:19
1

Você ainda pode mudar a partir da linha de comando. Você recebe um aviso, mas ele permite que você defina uma senha muito curta, bem como uma que não atenda às regras de complexidade.

    
por 08.12.2013 / 21:49
1

Você pode assumir o controle manual do seu arquivo system-auth . Crie um novo arquivo (você pode começar copiando system-auth-ac ) e altere o link simbólico system-auth para apontar para o novo arquivo.

Isso torna sua responsabilidade atualizar essa parte da configuração do seu PAM, pois o authconfig não tocará mais no link simbólico ou no arquivo para o qual ele aponta. No entanto, o authconfig ainda atualizará o arquivo system-auth-ac , para que você possa continuar a usá-lo como referência, se necessário. Com alguma inteligência, você poderá até mesmo include em sua cópia local, mas como fazer isso está além do escopo desta questão.

Você também deve verificar se há outros links simbólicos, como password-auth . Você pode precisar dar a eles o mesmo tratamento.

Na página authconfig(8) , em Files :

/etc/pam.d/system-auth
    Common PAM configuration for system services which include it using
    the include directive. It is created as symlink and not relinked if
    it points to another file.

/etc/pam.d/system-auth-ac
    Contains the actual PAM configuration for system services and is the
    default target of the /etc/pam.d/system-auth symlink. If a local
    configuration of PAM is created (and symlinked from system-auth
    file) this file can be included there. 

Portanto, se system-auth for um arquivo, o authconfig o alterará para vincular a system-auth-ac . Mas se system-auth é um link simbólico, então o authconfig o deixa sozinho.

    
por 20.10.2016 / 01:56
0

Acabei de encontrar essa 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. ou seja, system-auth links para system-auth-ac . Se você fizer o system-auth seu próprio arquivo, teoricamente, qualquer mudança futura feita por auth-config ainda atualizará system-auth-ac , mas deixará seus arquivos modificados inalterados.

Na verdade, é bem elegante, mas eu só descobri isso quando me perguntei o que os arquivos *-ac fizeram.

    
por 15.02.2014 / 01:13