您现在的位置是:首页 >技术教程 >一次密码修改失败bug解决过程 passwd: Authentication token manipulation error网站首页技术教程
一次密码修改失败bug解决过程 passwd: Authentication token manipulation error
Authentication token manipulation error 这个错误直译就是:认证令牌操作失败错误。这个问题之前已经遇到过一次,所以按照以前的方法来处理的。
这个问题百度来的博客思路一般两个:
1.保存用户密码的两个文件是否无修改权限
2.磁盘已满导致无法修改
思路1
/etc/passwd 用户信息文件 和/etc/shadow用户密码文件。在/etc/shadow中能看到用户密码策略的一些信息。所以我先看了下了,是否这两个文件出了权限问题。
[root@master ~]# lsattr /etc/passwd /etc/shadow
---------------- /etc/passwd
---------------- /etc/shadow
发现并没有设置不允许修改的权限,所以不是这个问题。
然后看第二个思路
df -h
发现根目录挂载的剩余空间很多,所以也不是这个问题。从这开始,我就在导出找是不是其它原因了。比如是不是这个用户有问题,或者密码设置不对?最后想到是不是密码策略有关
还有个文件 /etc/pam.d/system-auth
linux的用户与密码用户策略比如密码强度,然后看到一篇文章上说重复密码次数,有一篇文章通过查看系统日志找错误信息,/var/log/messages 但是message里并没有有用的信息,然后看下目录下面,还有个security日志,cat /var/log/secure 最后看到一行日志,无法打开旧密码文件检查旧密码。
passwd: pam_unix(passwd:chauthtok): can't open /etc/security/opasswd file to check old passwords
/etc/security/opasswd 旧密码保存文件,是因为在 /etc/pam.d/system-auth中强制不能和最近的5个旧密码相同,所以在查找旧密码时,发现没有 opasswd文件报错了,校验失败,没法修改密码。
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
所以解决方法,1不校验旧密码。2.创建旧密码文件。我用了第二个方法。
最能追根求源的方法,果然还是看日志。
最后总结一下,主要知识是密码修改相关的知识,
1.修改密码的策略
所有的设置都在/etc/pam.d/system-auth里,包括密码强度,大小写,特殊字符之类。比如是否旧密码校验。
2.密码保存文件
/etc/passwd /etc/shadow 要修改密码成功,这两个文件必须有写,修改权限。
参考博客:
修改服务器密码及passwd时报错passwd: Authentication token manipulation error_wd520521的博客-CSDN博客
https://www.cnblogs.com/1chenxi1/p/13859862.html
linux 密码设置及登陆控制/设置密码复杂度 (/etc/pam.d/system-auth)_西京刀客的博客-CSDN博客