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

Elastic Compute Service:LinuxシステムでECSインスタンスのパスワードを変更できませんでした。エラーメッセージ「passwd: モジュールが不明です」 どのような設定を行えばよいですか。

最終更新日:Feb 07, 2025

passwdコマンドを使用してLinuxシステムでECSインスタンスのパスワードを変更しようとすると、passwd: Module is unknownpasswd: password unchangedなどのエラーメッセージが表示されることがあります。 これらのメッセージは通常、パスワード管理のためのプラグイン可能認証モジュール (PAM) 構成の問題、またはPAMモジュールの欠落または不適切な構成を示しています。 PAMは、Linuxシステムでユーザー認証を管理するために不可欠です。

問題の内容

シナリオ1: Linuxシステムを使用したECSインスタンスのパスワード変更がpasswdコマンドを使用して失敗し、エラーメッセージが表示されます。

passwd: Module is unknown
passwd: password unchanged

シナリオ2: Cloud Assistantオンラインパスワードのリセットが失敗し、エラーメッセージが表示されます。

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インスタンスにリモート接続します。

    特定の操作については、「SSHプロトコルを使用したWorkbenchツールを使用したLinuxインスタンスへのログイン」をご参照ください。

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

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

    • pam_unix.soがない場合は、システムライブラリファイルの破損またはPAM関連パッケージのアンインストールが原因である可能性があります。 PAMパッケージを再インストールします。 pam_unix.soモジュールは、基本的なユーザー認証およびパスワード管理機能に不可欠です。

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

    • Ubuntu/Debian

      sudo apt-get update
      sudo apt-get install --reinstall libpam-modules
    • CentOS/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. Module is unknownpam_chauthtok() failedなど、pam_pwquality.soに関連するエラーメッセージがないかシステムログを調べます。

    • 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. /etc /PAM. d/common-password/etc/pam.d/system-authなどのpam設定ファイルが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/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_pwquality.soがPAM設定ファイルで参照されているかどうかを確認します。

    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/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がまだ参照されていない場合は、次のオプションを検討してください。

    オプション1: pam_pwquality.soをインストールする

    1. 次のコマンドを実行して、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. インストール後、コマンドを再度実行して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: 設定が有効かどうかを確認する

  1. パスワードをもう一度変更して、新しい設定が機能するかどうかを確認します。

    passwd
  2. それでもパスワードの変更に失敗した場合、またはその他のエラーメッセージが表示された場合は、チケットを起票または

    Alibaba Cloudテクニカルサポートにお問い合わせください。