Linux修改密码提示authentication token manipulation error错误
Tags: authentication token manipulation errorLinuxOS修改密码故障处理
现象
使用passwd指令修改密码失败,报“Authentication token manipulation error”的错误。
authentication token manipulation error.
passwd unchanged..
身份验证令牌操作错误
可能原因及解决方法
1、根目录空间满了
【排查方法】df查看分区使用情况
【处理方法】删除根目录下无用的文件
【tips】du命令可查看当前目录下的空间占用情况
2、inode满了
【排查方法】df -i查看,若根目录下的inode使用情况为100%
【处理方法】删除无用的临时文件sudo find /tmp -type f -exec rm {} \;
和 0字节文件sudo find /home -type f -size 0 -exec rm {} \;
3、密码文件(/etc/passwd和/etc/shadow)不同步
【排查方法】cat /etc/passwd cat /etc/shadow对比两个文件中,登录用户的信息是否有差异,若有则不同步
【处理方法】执行pwconv命令,将/etc/passwd文件投影到/etc/shadow文件中,根据passwd文件修改shadow文件
4、密码文件(/etc/passwd和/etc/shadow)属性含有i,被设置为 不可被修改
【排查方法】lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow
查看存放用户和密码的文件 属性,若有i属性,表明该文件不能被修改:无法被删除或重命名,无法为此创建任何链接文件,不能将任何数据写入该文件。若有a属性,表明该文件不能被删除、改名、原有内容无法修改,只能追加内容。
1 2 3 4 5 6 | [root@k8smaster /]# lsattr /etc/*shadow /etc/passwd /etc/group -------------e-- /etc/gshadow -------------e-- /etc/shadow -------------e-- /etc/passwd -------------e-- /etc/group [root@k8smaster /]# |
【处理方法】如果存在“-i”属性,则执行如下命令,取消该安全属性。用chattr命令将i/a权限撤销
1 | chattr -i /etc/*shadow /etc/passwd /etc/group |
lsattr命令列出文件或目录的隐藏权限,chattr命令修改文件或目录的隐藏权限
本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
最后,重新尝试修改密码。如果还是报错,则执行如下命令,尝试备份shadow文件。
1 | mv /etc/shadow /etc/shadow.bak |
执行如下命令,开启用户的投影密码。
1 | pwconv |
最后再次尝试修改密码。
5、根目录为只读,处理办法为重新挂载根目录为读写状态
【处理方法】:挂载为读写状态
1 | mount -o rw,remount / |
6、文件 /etc/pam.d/system-auth 和/etc/pam.d/passwd是否被修改过,或文件/etc/pam.d/system-auth内容被清空
以下文件/etc/pam.d/system-auth的password部分:
1 2 3 | password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so |
若增加以下内容:
1 | password requisite pam_cracklib.so retry=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 |
则更新密码可能会报错。
【处理方法】注释掉新增加的行。
pwconv命令介绍
功能说明:开启用户的投影密码。
语 法:pwconv
补充说明:Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文 件中,这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的 shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为”x”字符,有效的强化了系统的安全性。
pwconv:开启用户的shadow口令.
一般来用pwconv来同步口令,下面来说一下,它的工作流程:
pwconv依赖于passwd中的密码区’x’来同步/etc/passwd与/etc/shadow这两个文件;以/etc/passwd为主来控制/etc/shadow中的各项:
A:若/etc/shadow不存在,则pwconv将用/etc/passwd来建立
B:若/etc/shadow已存在,则:
1.若条目在passwd中已存在,而不在shadow中,则在shadow中添加相关条目
2.若条目在shadow中已存在,而不在passwd中,则从shadow中删除相关条目
参考
https://blog.csdn.net/weixin_47128888/article/details/112789326
http://linhost.info/2013/08/passwd-authentication-token-manipulation-error-ubuntu/
若大家有碰到其它情况,还请补充