LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 840|回复: 0

请高手帮忙分析为什么root修改不了密码?

[复制链接]
发表于 2009-7-27 14:42:52 | 显示全部楼层 |阅读模式
我的系统版本为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不能修改密码了,非常感谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表