利用oracle VM Manager克隆一个虚拟机,启动后用原用户名,密码无法登陆克隆的虚拟机。
但使用原用户名和密码可以登录被克隆的虚拟机。
进入控制台用single模式登录,检查/var/log/secure文件,发现下述错误:
Mar 14 03:08:56 BJ-DB01 login: PAM adding faulty module: /lib/security/pam_limits.so
Mar 14 03:08:56 BJ-DB01 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Mar 14 03:08:56 BJ-DB01 login: Module is unknown
Mar 14 03:09:18 BJ-DB01 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
去/lib/security目录下查找,果然没有pam_limits.so这个文件
#ll /lib/security/pam_limits.so
ls: cannot access /lib/security/pam_limits.so: No such file or directory
原来是64bit的系统
#uname -a
Linux TRA-CDORA 2.6.39-200.24.1.el6uek.x86_64 #1 SMP Sat Jun 23 02:39:07 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
在/lib64/security目录下pam_limits.so 有这个文件
# ll /lib64/security/pam_limits.so
-rwxr-xr-x. 1 root root 18592 Apr 16 2012 /lib64/security/pam_limits.so
查看/etc/pam.d/login ,发现配置有误
# more /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
单用户模式下,将/etc/pam.d/login修改为:
session required /lib64/security/pam_limits.so
session required pam_limits.so
重启操作系统,正常登录。查看原系统中的配置,也是错误的,但不知为什么重启后,却能正常登录。