Todos os produtos
Search
Central de documentação

:Troubleshoot the 'passwd: Module is unknown' error on a Linux ECS instance

Última atualização: Jul 03, 2026

Ao usar o comando passwd para alterar a senha de uma instância ECS Linux, você pode receber os erros passwd: Module is unknown e passwd: password unchanged. Esses erros geralmente indicam um problema na configuração dos Pluggable Authentication Modules (PAM), como um módulo PAM ausente ou mal configurado. O PAM é um framework que os sistemas Linux usam para gerenciar a autenticação de usuários.

Sintomas

O comando passwd falha e exibe a seguinte mensagem:

passwd: Module is unknown
passwd: password unchanged

A tentativa de redefinir a senha da instância online usando o Cloud Assistant falha e exibe a seguinte mensagem:

Key pair [t-zjk5191zbypjytc] has been removed
chpasswd: (user root) pam_chauthtok() failed, error:
Module is unknown
chpasswd: (line 1, user root) password not changed
Password reset failed.

Possíveis causas

  1. Módulo PAM não instalado ou ausente: Um módulo PAM necessário, como pam_unix.so ou pam_pwquality.so, está ausente, foi excluído ou está corrompido.

  2. Arquivo de configuração PAM incorreto: Um arquivo de configuração PAM no diretório /etc/pam.d/, como common-password ou system-auth, referencia um módulo inexistente ou contém um caminho ou parâmetros incorretos.

  3. Configuração de política de senha incorreta: O arquivo /etc/security/pwquality.conf está mal configurado, o que impede o funcionamento correto do módulo pam_pwquality.so.

Solução

Etapa 1: Verifique o pam_unix.so

  1. Conecte-se à sua instância Linux.

    Para mais informações, consulte Fazer login em uma instância Linux usando o Workbench.

  2. Verifique se o módulo pam_unix.so existe:

    sudo find / -name "pam_unix.so"
    Nota
    • Se o pam_unix.so existir, prossiga para a Etapa 2: Verificar a configuração do pam_pwquality.so.

    • Caso o pam_unix.so não exista, o pacote pai pode estar ausente ou os arquivos de biblioteca do sistema podem estar corrompidos. Reinstale o pacote PAM. O módulo pam_unix.so é essencial para o PAM e gerencia a autenticação básica de usuários e senhas.

  3. Reinstale o pacote PAM necessário.

    • Ubuntu/Debian

      sudo apt-get update
      sudo apt-get install --reinstall libpam-modules
    • CentOS/RHEL/Alibaba Cloud Linux

      sudo yum reinstall pam
  4. Execute o comando a seguir novamente para verificar se o pam_unix.so existe.

    sudo find / -name "pam_unix.so"

Etapa 2: Verifique a configuração do pam_pwquality.so

O módulo pam_pwquality.so aprimora as verificações de complexidade de senha, como comprimento mínimo e tipos de caracteres. Se o pam_pwquality.so estiver ativado no sistema, os usuários deverão atender às regras de complexidade definidas ao alterar suas senhas.

  1. Verifique no log do sistema se há mensagens de erro relacionadas ao pam_pwquality.so, como Module is unknown ou pam_chauthtok() failed.

    • Ubuntu/Debian:

      sudo tail -f /var/log/auth.log
    • CentOS/RHEL/Alibaba Cloud Linux:

      sudo tail -f /var/log/secure
      Nota

      Por exemplo, a seguinte mensagem de erro pode ser exibida:

      PAM unable to dlopen(pam_puquality.so): /lib/security/pam_puquality.so: cannot open shared object file: No such file or directory
      PAM adding faulty module: pam_puquality.so

      O log indica que o sistema falhou ao carregar o módulo pam_pwquality.so. Isso pode ocorrer porque o módulo pam_pwquality.so não está instalado ou o caminho de instalação está incorreto.

  2. Execute o comando a seguir para verificar se o pam_pwquality.so está instalado.

    sudo find / -name "pam_pwquality.so"

    Se a saída for semelhante à seguinte, o módulo está instalado.

    /usr/lib/x86_64-linux-gnu/security/pam_pwquality.so
  3. Se o pam_pwquality.so estiver instalado:

    1. Verifique se o arquivo de configuração PAM (como /etc/pam.d/common-password ou /etc/pam.d/system-auth) referencia corretamente o pam_pwquality.so.

      Ubuntu/Debian

      1. Execute o comando a seguir para verificar o conteúdo do arquivo /etc/pam.d/common-password.

        sudo cat /etc/pam.d/common-password | grep -v "#"
      2. Confirme se as linhas a seguir existem e estão corretas:

        password [success=1 default=ignore] pam_unix.so obscure sha512
        password requisite pam_deny.so
        password required pam_permit.so
        password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
      3. Caso a configuração esteja incorreta, edite o arquivo /etc/pam.d/common-password.

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

        Adicione ou atualize a linha a seguir:

        password requisite pam_pwquality.so retry=3 minlen=10 minclass=3

        Salve e saia do arquivo.

      CentOS/RHEL/Alibaba Cloud Linux

      1. Execute o comando a seguir para verificar o conteúdo do arquivo /etc/pam.d/system-auth.

        sudo cat /etc/pam.d/system-auth | grep -v "#"

        Confirme se as linhas a seguir existem e estão corretas:

        password   sufficient   pam_unix.so sha512 shadow nullok try_first_pass use_authtok
        password   required     pam_deny.so
        password   requisite    pam_pwquality.so try_first_pass local_users_only retry=3
      2. Caso a configuração esteja incorreta, edite o arquivo /etc/pam.d/system-auth.

        sudo vi /etc/pam.d/system-auth

        Adicione ou atualize a linha a seguir:

        password requisite pam_pwquality.so try_first_pass local_users_only retry=3

        Salve e saia do arquivo.

    2. Execute o comando a seguir para verificar o conteúdo do arquivo /etc/security/pwquality.conf.

      sudo cat /etc/security/pwquality.conf

      Verifique se as configurações a seguir existem e estão corretas:

      minlen = 10
      minclass = 3
      retry = 3
      Nota
      • minlen = 10: O comprimento mínimo da senha é de 10 caracteres.

      • minclass = 3: A senha deve conter caracteres de pelo menos três classes (letras minúsculas, letras maiúsculas, dígitos e caracteres especiais).

      • retry = 3: Os usuários têm direito a três tentativas para inserir uma senha válida.

  4. Se o pam_pwquality.so não estiver instalado:

    Nota
    • Caso não seja necessário impor verificações de complexidade de senha (como comprimento e tipos de caracteres), comente ou exclua as linhas relacionadas ao pam_pwquality.so no arquivo /etc/pam.d/common-password.

    • Se for necessário impor verificações de complexidade de senha, instale o libpam-pwquality.

    Verifique se o arquivo de configuração PAM referencia o pam_pwquality.so.

    Ubuntu/Debian

    Execute o comando a seguir para verificar o arquivo /etc/pam.d/common-password:

    sudo cat /etc/pam.d/common-password | grep "pam_pwquality.so"

    Se a saída for semelhante à seguinte, o pam_pwquality.so está referenciado:

    password requisite pam_pwquality.so retry=3 minlen=10 minclass=3

    CentOS/RHEL/Alibaba Cloud Linux

    Execute o comando a seguir para verificar o arquivo /etc/pam.d/system-auth:

    sudo cat /etc/pam.d/system-auth | grep "pam_pwquality.so"

    Se a saída for semelhante à seguinte, o pam_pwquality.so está referenciado:

    password requisite pam_pwquality.so try_first_pass local_users_only retry=3

    Se o pam_pwquality.so estiver referenciado, mas não instalado, escolha um dos métodos a seguir:

    Método 1: Instale o pam_pwquality.so

    1. Execute o comando apropriado para instalar o módulo pam_pwquality.so.

      • Ubuntu/Debian

        sudo apt-get update
        sudo apt-get install libpam-pwquality
      • CentOS/RHEL/Alibaba Cloud Linux

        sudo yum install pam_pwquality
    2. Após concluir a instalação, execute o comando a seguir novamente para verificar se o pam_pwquality.so existe.

      sudo find / -name "pam_pwquality.so"

    Método 2: Comentar a configuração relacionada ao pam_pwquality.so (solução alternativa)

    Se não for possível resolver o problema imediatamente, comente temporariamente a linha do pam_pwquality.so para ignorar as verificações de complexidade de senha.

    1. Abra o arquivo de configuração PAM.

      • Ubuntu/Debian:

        sudo vi /etc/pam.d/common-password
      • CentOS/RHEL/Alibaba Cloud Linux:

        sudo vi /etc/pam.d/system-auth
    2. Localize a linha a seguir.

      password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
    3. Adicione um sinal de cerquilha (#) no início da linha para comentá-la.

      # password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
    4. Salve e saia do arquivo.

    Importante
    • Comentar o pam_pwquality.so desativa as regras de complexidade de senha, o que pode reduzir a segurança do sistema. Recomendamos desativar essa verificação apenas em ambientes de teste ou para casos de uso específicos.

    • Para reativar a verificação de complexidade de senha, descomente a linha do pam_pwquality.so e certifique-se de que as regras no arquivo /etc/security/pwquality.conf estejam corretas.

Etapa 3: Verifique a correção

Tente alterar a senha novamente para validar a correção.

passwd