Jan
28
2021
登录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
,可以在相应配置文件中配置具体的策略,如下所示。
文件 | 功能说明 |
/etc/pam.d/login
|
控制台(管理终端)对应配置文件 |
/etc/pam.d/sshd
|
登录对应配置文件 |
/etc/pam.d/system-auth
|
系统全局配置文件 |
远程连接登录时,某些启用了PAM的应用程序加载模块失败,导致配置了相应策略的登录方式交互失败。这里主要查看/etc/pam.d/sshd
和/etc/pam.d/system-auth
文件,管理终端的/etc/pam.d/login
配置文件出错时,您需要提交工单联系阿里云技术支持。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
无法通过实例账号密码登录
- 通过管理终端登录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]
session required /lib64/security/pam_limits.so
- 重新登录Linux实例,确认能正常登录。
如果您有其他问题,可以联系北京志远天成阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询!
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: