passwd:pam_chauthtok():对话失败错误和解决方案
我正在尝试使用passwd命令更改我的Unix/Linux用户帐户密码。
但是,我收到以下错误:
passwd:pam_chauthtok():对话失败
或者
passwd:pam_chauthtok():服务模块中的错误
如何在Unix之类的操作系统上解决此问题?
要解决此问题,请尝试以下任一解决方案:
#1:确保文件系统以读写模式挂载
确保您的文件系统(/文件系统)以读写模式安装。
执行" mount"命令以查看当前文件系统状态。
如果文件系统安装在只读系统上,请尝试在Linux操作系统和FreeBSD操作系统上以读写模式重新安装文件。
#2:如果要使用ssh更改密码,请通过-t选项
如果您按以下方式使用ssh:
ssh user@server-name-here passwd
尝试传递-t选项:
ssh -t user@server-name-here passwd
#3:检查SSD或者硬盘驱动器是否有错误
在硬盘上运行fsck。
有关更多信息,请参见fsck命令教程:
- 修复Linux ext2或者ext3或者ext4文件系统[fsck]
- 您运行什么命令来检查UNIX或者Linux下的文件系统一致性?
#4:确保shardow/passwd/master.passwd文件中没有多个条目
检查您的Linux/Unix加密密码文件,并确保/etc/shadow(Linux),/etc/master.passwd(FreeBSD),/etc/passwd(旧版本的Linux/Unix)。
#5:检查加密的密码文件权限
使用ls -l
命令确保以下文件的权限正确:
- /etc/passwd
- /etc/shadow
- /etc/group
- /etc/master.passwd(FreeBSD)
Linux上的典型文件权限如下所示:
ls -l /etc/{passwd,shadow,group}
输出示例:
-rw-r--r-- 1 root root 618 Aug 26 21:17 /etc/group -rw-r--r-- 1 root root 1049 Aug 26 21:17 /etc/passwd -rw-r----- 1 root shadow 869 Oct 1 15:25 /etc/shadow
使用chmod和chown命令设置正确的文件权限。
#6:确保加密的密码文件不受扩展文件系统权限的保护
类似Linux和Unix的系统提供文件写保护功能。
root用户将在/etc/shadow或者/etc/master.passwd文件上设置不可变的特殊位调用。
设置此位后,没有人可以删除或者修改文件,包括root。
而且只有root才能清除File不变位。
要列出Linux类型上的文件属性:
lsattr /etc/{passwd,shadow,group}
输出示例:
-------------e-- /etc/passwd -------------e-- /etc/shadow -------------e-- /etc/group
有关更多信息,请参见如何在基于Linux的系统和基于FreeBSD的系统上设置/清除/删除不可变位。
#7:确保日志文件中没有其他授权错误
检查系统日志文件是否有其他错误。
#8:检查/etc/pam.d/的内容
检查/etc/pam.d/目录的内容,并确保它们不变。
您可以将/etc/pam.d/目录的内容与另一个系统的/etc/pam.d/目录进行比较。
#9:确保加密的密码文件未损坏
确保/etc/shadow(Linux)或者/etc/master.passwd(FreeBSD)文件未损坏。
在Linux上使用pwck命令检查文件完整性。
在FreeBSD上使用pwd_mkdb命令重建/etc/master.passwd文件。