- 论坛徽章:
- 0
|
我的系统版本为RehHat EnterPrise AS release 4 (Nahant Update 7),早两天发现root密码修改不了,报错如下:passwd: Module is unknown 。
下面为我用ldd检查到的一些信息,与我在虚拟机(RehHat AS 4.7,root的passwd命令正常)上检查到的一样。
[root@VERITAS ~]# ldd /usr/bin/passwd
libuser.so.1 => /usr/lib/libuser.so.1 (0x00c2e000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00a8f000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00367000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00305000)
libdl.so.2 => /lib/libdl.so.2 (0x00c28000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x0016e000)
libpopt.so.0 => /usr/lib/libpopt.so.0 (0x0030a000)
libpam_misc.so.0 => /lib/libpam_misc.so.0 (0x00c53000)
libaudit.so.0 => /lib/libaudit.so.0 (0x00deb000)
libselinux.so.1 => /lib/libselinux.so.1 (0x001eb000)
libc.so.6 => /lib/tls/libc.so.6 (0x00af7000)
libpam.so.0 => /lib/libpam.so.0 (0x00dba000)
/lib/ld-linux.so.2 (0x00add000)
下面为/var/log/messages中的信息,我检查了虚拟机下/lib/security/pam_nxdrv.so这个文件也是不存在的
Jul 21 15:42:38 VERITAS sshd(pam_unix)[8025]: session opened for user hisun by (uid=0)
Jul 21 15:42:43 VERITAS su(pam_unix)[8058]: session opened for user root by hisun(uid=500)
Jul 21 15:43:19 VERITAS passwd: PAM unable to dlopen(/lib/security/pam_nxdrv.so)
Jul 21 15:43:19 VERITAS passwd: PAM [dlerror: /lib/security/pam_nxdrv.so: cannot open shared object file: No such file or directory]
Jul 21 15:43:19 VERITAS passwd: PAM adding faulty module: /lib/security/pam_nxdrv.so
Jul 21 15:44:22 VERITAS passwd: PAM unable to dlopen(/lib/security/pam_nxdrv.so)
Jul 21 15:44:22 VERITAS passwd: PAM [dlerror: /lib/security/pam_nxdrv.so: cannot open shared object file: No such file or directory]
Jul 21 15:44:22 VERITAS passwd: PAM adding faulty module: /lib/security/pam_nxdrv.so
Jul 21 15:45:00 VERITAS sshd(pam_unix)[8025]: session closed for user hisun
Jul 21 15:45:00 VERITAS su(pam_unix)[8058]: session closed for user root
Jul 21 15:57:14 VERITAS sshd(pam_unix)[8503]: session opened for user hisun by (uid=0)
Jul 21 15:57:43 VERITAS su(pam_unix)[8540]: session opened for user root by hisun(uid=500)
下面为我用strace -o passwd.log passwd 抓到passwd命令允行到log,将log中我认为的错误信息列出如下:
4行: access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) #/etc/ld.so.preload在虚拟机中不存在
116行: connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) #/var/run/nscd/socket目录在虚拟机中不存在
121行: connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) #/var/run/nscd/socket目录在虚拟机中不存在
175行: open("/lib/security/pam_nxdrv.so", O_RDONLY) = -1 ENOENT (No such file or directory) #虚拟机中也不存在/lib/security/pam_nxdrv.so这个文件
208行: open("/lib/security/$ISA/pam_deny.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_deny.so文件存在于/lib/security/pam_deny.so
226行: open("/lib/security/$ISA/pam_env.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_env.so文件存在于/lib/security/pam_env.so
233行: open("/lib/security/$ISA/pam_unix.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_unix.so文件存在于/lib/security/pam_unix.so
254行: open("/lib/security/$ISA/pam_deny.so", O_RDONLY) = -1 ENOENT (No such file or directory) #同上
255行: open("/lib/security/$ISA/pam_succeed_if.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_succeed_if.so文件存在于/lib/security/pam_succeed_if.so
262行: open("/lib/security/$ISA/pam_permit.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_permit.so文件存在于/lib/security/pam_permit.so
269行: open("/lib/security/$ISA/pam_cracklib.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_cracklib.so文件存在于/lib/security/pam_cracklib.so
289行: open("/lib/security/$ISA/pam_limits.so", O_RDONLY) = -1 ENOENT (No such file or directory) #echo $ISA 不存在$ISA变量,pam_limits.so文件存在于/lib/security/pam_limits.so
附件为passwd.log和messages详细信息,请高手看看是什么原因导致root不能修改密码了,非常感谢。 |
|