このトピックでは、Linux Elastic Compute Service (ECS) インスタンスに接続できず、「login: Module is unknown」エラーメッセージが表示される問題の原因と解決策について説明します。
問題の説明
Linuxインスタンスに接続できず、セキュアログに次のようなエラーメッセージが表示されます。
login: Module is unknown.
login: PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory.原因
Pluggable Authentication Modules (PAM) が有効になっている各アプリケーションについて、アプリケーションの名前が付けられた構成ファイルが /etc/pam.d ディレクトリに存在します。たとえば、login コマンドの構成ファイルが /etc/pam.d/login の場合、次の表に示すように、対応する構成ファイルでポリシーを構成できます。
ファイル | 説明 |
| コンソール(管理ターミナル)に対応する構成ファイル。 |
| インスタンスのログオンに使用される構成ファイル。 |
| システムグローバル構成ファイル。 |
インスタンスに接続すると、一部のPAM対応アプリケーションがモジュールをロードできません。その結果、アプリケーションを使用してインスタンスに接続できません。/etc/pam.d/sshd ファイルと /etc/pam.d/system-auth ファイルの構成を確認してください。管理ターミナルの /etc/pam.d/login 構成ファイルでエラーが発生した場合は、チケットを送信して、Alibaba Cloudテクニカルサポートにお問い合わせください。
解決策
Linux シンプルアプリケーションサーバーにログオンします。詳細は、レスキュー機能を使用してLinuxサーバーに接続する を参照してください。
次のコマンドを実行してPAM構成ファイルを表示し、構成ファイルに次の構成情報が含まれているかどうかを確認します。
cat [$File_Name]説明[$File_Name] は、対応するPAM構成ファイルの絶対パスです。
構成情報:
次のコマンドを実行して、pam_limits.so モジュールファイルが存在するかどうかを確認します。
説明64ビットLinuxインスタンスでは、正しいパスは
/lib64/securityです。ll /lib/security/pam_limits.so次のコマンドを実行して、pam_limits.so モジュールのパスを正しいパスに変更します。次に、パスを保存して終了します。
vi [$File_Name]説明[$File_Name] は、対応するPAM構成ファイルの絶対パスです。
変更後の構成:
session required /lib64/security/pam_limits.soLinux シンプルアプリケーションサーバーに再度ログオンします。詳細は、Linuxサーバーに接続するを参照してください。