本文介紹登錄Linux實例失敗并報“login: Module is unknown”錯誤時的問題原因和解決方案。
問題描述
登錄Linux實例失敗并且在secure日志中出現類似以下報錯信息。
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.
問題原因
每個啟用PAM的應用程序,在/etc/pam.d
目錄中都有對應的同名配置文件。例如,login
命令的配置文件是/etc/pam.d/login
,可以在相應配置文件中配置具體的策略,如下所示。
文件 | 功能說明 |
| 控制臺(管理終端)對應配置文件。 |
| 登錄對應配置文件。 |
| 系統全局配置文件。 |
遠程連接登錄時,某些啟用了PAM的應用程序加載模塊失敗,導致配置了相應策略的登錄方式交互失敗。此時,主要查看/etc/pam.d/sshd
和/etc/pam.d/system-auth
文件的配置信息,管理終端的/etc/pam.d/login
配置文件出錯時,您需要提交工單聯系阿里云技術支持。
解決方案
通過管理終端登錄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.so
重新通過管理終端登錄Linux實例。
文檔內容是否對您有幫助?