すべてのプロダクト
Search
ドキュメントセンター

:Linux ECS インスタンスで 'passwd: Module is unknown' エラーが表示され、パスワードの変更に失敗する

最終更新日:Nov 09, 2025

passwd コマンドを使用して Linux ECS インスタンスのパスワードを変更すると、passwd: Module is unknown および passwd: password unchanged というエラーメッセージが表示されることがあります。この失敗は、通常、Pluggable Authentication Modules (PAM) の構成に問題があることを示します。これは、必要な PAM モジュールが見つからないか、正しく構成されていない場合に発生する可能性があります。PAM は、ユーザー認証を管理するために Linux で使用されるモジュールのフレームワークです。

問題の説明

症状 1: passwd コマンドを使用して Linux ECS インスタンスのパスワードを変更できません。次のエラーメッセージが返されます:

passwd: Module is unknown
passwd: password unchanged

症状 2: クラウドアシスタントを使用して Linux ECS インスタンスのパスワードをリセットすることができません。次のエラーメッセージが表示されます。

image

考えられる原因

  1. PAM モジュールがインストールされていないか、見つからない: pam_unix.sopam_pwquality.so などの必要な PAM モジュールが見つかりません。これは、モジュールファイルが誤って削除されたか、破損した場合に発生する可能性があります。

  2. PAM 構成ファイルのエラー: /etc/pam.d/ フォルダ内の構成ファイル (例: common-passwordsystem-auth) が、存在しないモジュールを参照しています。これは、構成ファイル内のモジュールパスまたはパラメーターが正しくない場合にも発生する可能性があります。

  3. パスワードポリシーの構成に関する問題: /etc/security/pwquality.conf ファイルが正しく構成されていません。これにより、pam_pwquality.so モジュールが失敗します。

解決策

ステップ 1: pam_unix.so モジュールが存在するかどうかを確認する

  1. Linux ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、pam_unix.so モジュールが存在するかどうかを確認します。

    sudo find / -name "pam_unix.so"
    説明
    • pam_unix.so が存在する場合は、「pam_pwquality.so モジュールの構成を確認する」に進みます。

    • pam_unix.so が存在しない場合、システムライブラリファイルが破損しているか、PAM 関連のパッケージがインストールされていない可能性があります。pam_unix.so モジュールは、基本的なユーザー認証とパスワード管理を担当するコア PAM コンポーネントです。この場合、PAM パッケージを再インストールする必要があります。

  3. PAM パッケージを再インストールします。

    • Ubuntu または Debian

      sudo apt-get update
      sudo apt-get install --reinstall libpam-modules
    • CentOS、Red Hat Enterprise Linux (RHEL)、または Alibaba Cloud Linux

      sudo yum reinstall pam
  4. 次のコマンドを再度実行して、pam_unix.so が存在するかどうかを確認します。

    sudo find / -name "pam_unix.so"

ステップ 2: pam_pwquality.so モジュールの構成を確認する

pam_pwquality.so モジュールは、最小長や文字タイプなどのパスワードの複雑さのルールを適用します。pam_pwquality.so モジュールが有効になっている場合、パスワードは定義されたルールを満たす必要があります。

  1. pam_pwquality.so に関連するエラーメッセージ (例: Module is unknownpam_chauthtok() failed) がないかシステムログを確認します。

    • Ubuntu または Debian

      sudo tail -f /var/log/auth.log
    • CentOS、RHEL、または Alibaba Cloud Linux

      sudo tail -f /var/log/secure
      説明

      次のエラーメッセージが表示されます:

      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

      ログは、システムが pam_pwquality.so モジュールをロードできないことを示しています。このエラーは、pam_pwquality.so モジュールがインストールされていないか、インストールパスが正しくない場合に発生する可能性があります。

  2. 次のコマンドを実行して、pam_pwquality.so がインストールされているかどうかを確認します。

    sudo find / -name "pam_pwquality.so"

    次のコマンド出力は、モジュールがインストールされていることを示します:

    /usr/lib/x86_64-linux-gnu/security/pam_pwquality.so
  3. pam_pwquality.so がインストールされている場合:

    1. PAM 構成ファイル (例: /etc/pam.d/common-password/etc/pam.d/system-auth) が pam_pwquality.so を正しく参照しているかどうかを確認します。

      Ubuntu または Debian

      1. 次のコマンドを実行して、/etc/pam.d/common-password ファイルの内容を確認します。

        sudo cat /etc/pam.d/common-password | grep -v "#"
      2. ファイルに次の行が存在し、正しいことを確認してください:

        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. 構成が正しくない場合は、/etc/pam.d/common-password ファイルを編集します。

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

        次の行を追加または変更します:

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

        ファイルを保存して閉じます。

      CentOS、Red Hat Enterprise Linux (RHEL)、または Alibaba Cloud Linux

      1. 次のコマンドを実行して、/etc/pam.d/system-auth ファイルの内容を確認します。

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

        ファイルに次の行が存在し、正しいことを確認してください:

        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. 構成が正しくない場合は、/etc/pam.d/system-auth ファイルを編集します。

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

        次の行を追加または変更します:

        password requisite pam_pwquality.so try_first_pass local_users_only retry=3

        ファイルを保存して閉じます。

    2. 次のコマンドを実行して、/etc/security/pwquality.conf ファイルの内容を確認します。

      sudo cat /etc/security/pwquality.conf

      ファイルに次の行が存在し、正しいことを確認してください:

      minlen = 10
      minclass = 3
      retry = 3
      説明
      • minlen = 10: パスワードの最小長は 10 文字です。

      • minclass = 3: パスワードには、少なくとも 3 つの文字クラス (小文字、大文字、数字、特殊文字) の文字を含める必要があります。

      • retry = 3: パスワードのリトライは 3 回まで許可されます。

  4. pam_pwquality.so がインストールされていない場合:

    説明
    • パスワードの長さや文字タイプなどのパスワードの複雑さのチェックを適用する必要がない場合は、/etc/pam.d/common-password ファイル内の pam_pwquality.so に関連する行をコメントアウトまたは削除できます。

    • パスワードの複雑さのチェックが必要な場合は、libpam-pwquality パッケージをインストールします。

    PAM 構成ファイルが pam_pwquality.so を参照しているかどうかを確認します。

    Ubuntu または Debian

    次のコマンドを実行して、/etc/pam.d/common-password ファイルを確認します:

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

    次のような出力が返された場合、pam_pwquality.so が参照されています:

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

    CentOS、Red Hat Enterprise Linux (RHEL)、または Alibaba Cloud Linux

    次のコマンドを実行して、/etc/pam.d/system-auth ファイルを確認します:

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

    次のような出力が返された場合、pam_pwquality.so が参照されています:

    password requisite pam_pwquality.so try_first_pass local_users_only retry=3

    pam_pwquality.so がインストールされていないが参照されている場合は、次の 2 つのメソッドのいずれかを使用します。

    メソッド 1: pam_pwquality.so をインストールする

    1. 次のコマンドを実行して、pam_pwquality.so モジュールをインストールします。

      • Ubuntu または Debian

        sudo apt-get update
        sudo apt-get install libpam-pwquality
      • CentOS、Red Hat Enterprise Linux (RHEL)、または Alibaba Cloud Linux

        sudo yum install pam_pwquality
    2. インストール後、次のコマンドを再度実行して pam_pwquality.so が存在するかどうかを確認します。

      sudo find / -name "pam_pwquality.so"

    メソッド 2: pam_pwquality.so の構成をコメントアウトする (一時的な解決策であり、推奨されません)

    問題をすぐに解決できない場合は、pam_pwquality.so の行を一時的にコメントアウトして、パスワードの複雑さのチェックをバイパスできます。

    1. PAM 構成ファイルを開きます。

      • Ubuntu または Debian

        sudo vi /etc/pam.d/common-password
      • CentOS、RHEL、または Alibaba Cloud Linux

        sudo vi /etc/pam.d/system-auth
    2. 次の行を見つけます:

      password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
    3. 行の先頭に番号記号 (#) を追加してコメントアウトします。

      # password requisite pam_pwquality.so retry=3 minlen=10 minclass=3
    4. ファイルを保存して閉じます。

    重要
    • pam_pwquality.so の行をコメントアウトすると、システムはパスワードの複雑さを適用しなくなり、セキュリティが低下する可能性があります。パスワードの複雑さのチェックは、テスト環境または特定のシナリオでのみ無効にする必要があります。

    • パスワードの複雑さのチェックを再度有効にするには、pam_pwquality.so の行のコメントを解除し、/etc/security/pwquality.conf ファイルのルールが正しいことを確認します。

ステップ 3: 構成が有効であることを確認する

パスワードを変更し、変更が有効であることを確認します。

passwd