Tous les produits
Search
Centre de documentation

:Dépannage de l'erreur 'passwd: Module is unknown' sur une instance ECS Linux

Dernière mise à jour :Aug 18, 2026

Lorsque vous utilisez la commande passwd pour modifier le mot de passe d'une instance ECS Linux, les erreurs passwd: Module is unknown et passwd: password unchanged peuvent s'afficher. Ces erreurs indiquent généralement un problème de configuration des modules d'authentification enfichables (PAM), comme un module PAM manquant ou mal configuré. PAM est un framework que les systèmes Linux utilisent pour gérer l'authentification des utilisateurs.

Symptômes

La commande passwd échoue et renvoie le message suivant :

passwd: Module is unknown
passwd: password unchanged

La tentative de réinitialisation en ligne du mot de passe de l'instance à l'aide de Cloud Assistant échoue et renvoie le message suivant :

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.

Causes possibles

  1. Module PAM non installé ou manquant : Un module PAM requis, tel que pam_unix.so ou pam_pwquality.so, est absent, supprimé ou corrompu.

  2. Fichier de configuration PAM incorrect : Un fichier de configuration PAM situé dans le répertoire /etc/pam.d/, tel que common-password ou system-auth, fait référence à un module inexistant ou contient un chemin de module ou des paramètres incorrects.

  3. Configuration incorrecte de la politique de mot de passe : Le fichier /etc/security/pwquality.conf est mal configuré, ce qui empêche le module pam_pwquality.so de fonctionner correctement.

Solution

Étape 1 : Vérifiez pam_unix.so

  1. Connectez-vous à votre instance Linux.

    Pour plus d'informations, consultez la rubrique Connexion à une instance Linux à l'aide de Workbench.

  2. Vérifiez si le module pam_unix.so existe :

    sudo find / -name "pam_unix.so"
    Remarque
    • Si pam_unix.so existe, passez à l'étape Étape 2 : Vérifiez la configuration de pam_pwquality.so.

    • Si pam_unix.so n'existe pas, son package parent peut être manquant ou les fichiers de bibliothèque système peuvent être corrompus. Réinstallez le package PAM. Le module pam_unix.so est un module PAM principal qui gère l'authentification de base des utilisateurs et la gestion des mots de passe.

  3. Réinstallez le package PAM requis.

    • Ubuntu/Debian

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

      sudo yum reinstall pam
  4. Exécutez à nouveau la commande suivante pour vérifier que pam_unix.so existe.

    sudo find / -name "pam_unix.so"

Étape 2 : Vérifiez la configuration de pam_pwquality.so

Le module pam_pwquality.so permet de renforcer les contrôles de complexité des mots de passe, tels que la longueur minimale et les types de caractères. Si pam_pwquality.so est activé sur le système, les utilisateurs doivent respecter les règles de complexité définies lors du changement de leur mot de passe.

  1. Consultez le journal système pour rechercher des messages d'erreur liés à pam_pwquality.so, tels que 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
      Remarque

      Par exemple, le message d'erreur suivant peut s'afficher :

      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

      Le journal indique que le système n'a pas pu charger le module pam_pwquality.so. Cela peut être dû au fait que le module pam_pwquality.so n'est pas installé ou que le chemin d'installation est incorrect.

  2. Exécutez la commande suivante pour vérifier si pam_pwquality.so est installé.

    sudo find / -name "pam_pwquality.so"

    Si la sortie ressemble à ce qui suit, le module est installé.

    /usr/lib/x86_64-linux-gnu/security/pam_pwquality.so
  3. Si pam_pwquality.so est installé :

    1. Vérifiez que le fichier de configuration PAM (tel que /etc/pam.d/common-password ou /etc/pam.d/system-auth) fait correctement référence à pam_pwquality.so.

      Ubuntu/Debian

      1. Exécutez la commande suivante pour vérifier le contenu du fichier /etc/pam.d/common-password.

        sudo cat /etc/pam.d/common-password | grep -v "#"
      2. Vérifiez que les lignes suivantes existent et sont correctes :

        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. Si la configuration est incorrecte, modifiez le fichier /etc/pam.d/common-password.

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

        Ajoutez ou mettez à jour la ligne suivante :

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

        Enregistrez et quittez le fichier.

      CentOS/RHEL/Alibaba Cloud Linux

      1. Exécutez la commande suivante pour vérifier le contenu du fichier /etc/pam.d/system-auth.

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

        Vérifiez que les lignes suivantes existent et sont correctes :

        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. Si la configuration est incorrecte, modifiez le fichier /etc/pam.d/system-auth.

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

        Ajoutez ou mettez à jour la ligne suivante :

        password requisite pam_pwquality.so try_first_pass local_users_only retry=3

        Enregistrez et quittez le fichier.

    2. Exécutez la commande suivante pour vérifier le contenu du fichier /etc/security/pwquality.conf.

      sudo cat /etc/security/pwquality.conf

      Vérifiez que les paramètres suivants existent et sont corrects :

      minlen = 10
      minclass = 3
      retry = 3
      Remarque
      • minlen = 10 : La longueur minimale du mot de passe est de 10 caractères.

      • minclass = 3 : Le mot de passe doit contenir des caractères appartenant à au moins trois classes de caractères (lettres minuscules, lettres majuscules, chiffres et caractères spéciaux).

      • retry = 3 : Les utilisateurs disposent de trois tentatives pour saisir un mot de passe valide.

  4. Si pam_pwquality.so n'est pas installé :

    Remarque
    • Si vous n'avez pas besoin d'appliquer des contrôles de complexité des mots de passe (tels que la longueur du mot de passe et les types de caractères), vous pouvez mettre en commentaire ou supprimer les lignes liées à pam_pwquality.so dans le fichier /etc/pam.d/common-password.

    • Si vous devez appliquer des contrôles de complexité des mots de passe, installez libpam-pwquality.

    Vérifiez si le fichier de configuration PAM fait référence à pam_pwquality.so.

    Ubuntu/Debian

    Exécutez la commande suivante pour vérifier le fichier /etc/pam.d/common-password :

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

    Si la sortie ressemble à ce qui suit, pam_pwquality.so est référencé :

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

    CentOS/RHEL/Alibaba Cloud Linux

    Exécutez la commande suivante pour vérifier le fichier /etc/pam.d/system-auth :

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

    Si la sortie ressemble à ce qui suit, pam_pwquality.so est référencé :

    password requisite pam_pwquality.so try_first_pass local_users_only retry=3

    Si pam_pwquality.so est référencé mais n'est pas installé, choisissez l'une des méthodes suivantes :

    Méthode 1 : Installez pam_pwquality.so

    1. Exécutez la commande appropriée pour installer le module 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. Une fois l'installation terminée, exécutez à nouveau la commande suivante pour vérifier que pam_pwquality.so existe.

      sudo find / -name "pam_pwquality.so"

    Méthode 2 : Mettez en commentaire la configuration liée à pam_pwquality.so (solution de contournement)

    Si vous ne pouvez pas résoudre immédiatement le problème, vous pouvez temporairement mettre en commentaire la ligne pam_pwquality.so pour contourner les contrôles de complexité des mots de passe.

    1. Ouvrez le fichier de configuration PAM.

      • Ubuntu/Debian :

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

        sudo vi /etc/pam.d/system-auth
    2. Recherchez la ligne suivante.

      password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
    3. Ajoutez un dièse (#) au début de la ligne pour la mettre en commentaire.

      # password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
    4. Enregistrez et quittez le fichier.

    Important
    • La mise en commentaire de pam_pwquality.so désactive les règles de complexité des mots de passe, ce qui peut réduire la sécurité du système. Nous vous recommandons de désactiver cette vérification uniquement dans les environnements de test ou pour des cas d'utilisation spécifiques.

    • Pour réactiver la vérification de la complexité des mots de passe, annulez la mise en commentaire de la ligne pam_pwquality.so et assurez-vous que les règles du fichier /etc/security/pwquality.conf sont correctes.

Étape 3 : Vérifiez la correction

Essayez de changer à nouveau le mot de passe pour vérifier la correction.

passwd