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 インスタンスのパスワードをリセットすることができません。次のエラーメッセージが表示されます。

考えられる原因
PAM モジュールがインストールされていないか、見つからない:
pam_unix.soやpam_pwquality.soなどの必要な PAM モジュールが見つかりません。これは、モジュールファイルが誤って削除されたか、破損した場合に発生する可能性があります。PAM 構成ファイルのエラー:
/etc/pam.d/フォルダ内の構成ファイル (例:common-passwordやsystem-auth) が、存在しないモジュールを参照しています。これは、構成ファイル内のモジュールパスまたはパラメーターが正しくない場合にも発生する可能性があります。パスワードポリシーの構成に関する問題:
/etc/security/pwquality.confファイルが正しく構成されていません。これにより、pam_pwquality.soモジュールが失敗します。
解決策
ステップ 1: pam_unix.so モジュールが存在するかどうかを確認する
Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、
pam_unix.soモジュールが存在するかどうかを確認します。sudo find / -name "pam_unix.so"説明pam_unix.soが存在する場合は、「pam_pwquality.so モジュールの構成を確認する」に進みます。pam_unix.soが存在しない場合、システムライブラリファイルが破損しているか、PAM 関連のパッケージがインストールされていない可能性があります。pam_unix.soモジュールは、基本的なユーザー認証とパスワード管理を担当するコア PAM コンポーネントです。この場合、PAM パッケージを再インストールする必要があります。
PAM パッケージを再インストールします。
Ubuntu または Debian
sudo apt-get update sudo apt-get install --reinstall libpam-modulesCentOS、Red Hat Enterprise Linux (RHEL)、または Alibaba Cloud Linux
sudo yum reinstall pam
次のコマンドを再度実行して、
pam_unix.soが存在するかどうかを確認します。sudo find / -name "pam_unix.so"
ステップ 2: pam_pwquality.so モジュールの構成を確認する
pam_pwquality.so モジュールは、最小長や文字タイプなどのパスワードの複雑さのルールを適用します。pam_pwquality.so モジュールが有効になっている場合、パスワードは定義されたルールを満たす必要があります。
pam_pwquality.soに関連するエラーメッセージ (例:Module is unknownやpam_chauthtok() failed) がないかシステムログを確認します。Ubuntu または Debian
sudo tail -f /var/log/auth.logCentOS、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モジュールがインストールされていないか、インストールパスが正しくない場合に発生する可能性があります。
次のコマンドを実行して、
pam_pwquality.soがインストールされているかどうかを確認します。sudo find / -name "pam_pwquality.so"次のコマンド出力は、モジュールがインストールされていることを示します:
/usr/lib/x86_64-linux-gnu/security/pam_pwquality.so
ステップ 3: 構成が有効であることを確認する
パスワードを変更し、変更が有効であることを確認します。
passwd