登录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日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

 

无法通过实例账号密码登录

  1. 通过管理终端登录Linux实例。
  2. 参考如下命令,查看PAM配置文件,检查配置文件是否有类似如下配置信息。
    cat [$File_Name]

    注:[$File_Name]为相应PAM配置文件的绝对路径。

    具体信息如下所示。

  3. 执行如下命令,确认不存在pam_limits.so模块文件,因为在64位系统的Linux实例中,正确路径应该为/lib64/security
    ll /lib/security/pam_limits.so
  4. 执行如下命令,将pam_limits.so模块的路径修改为正确的路径,然后保存并退出。
    vi [$File_Name]

    修改后信息如下所示。

    session    required     /lib64/security/pam_limits.so
  5. 重新登录Linux实例,确认能正常登录。

 

无法通过管理终端登录

请提交工单联系阿里云技术支持。

 

相关文档

您可以参阅通过SSH无法远程登录Linux实例的排查指引详细地排查无法SSH登录的问题。

 

适用于

  • 云服务器 ECS

 

如果您的问题仍未解决,您可以联系【云技术在线】工程师。

您可以参阅通过SSH无法远程登录Linux实例的排查指引详细地排查无法SSH登录的问题。

【云技术在线】免费提供阿里云、华为云、腾讯云的产品选型,架构设计,安装配置,故障排查,数据迁移等技术服务,有任何需求请与我们联系!13121395187(微信同号)