本次事故使用操作系统为centos7
1、报错起因:
利用chage设置root用户密码定期更换后,到期之后登录系统,输入密码之后,提示要改密码,输入新密码之后,报错 ‘Authentication token manipulation error’ ,这个时候第一个想到的是根分区满了,导致无法写入内容,但是现在进不了系统,也没法进一步操作,所以之好使用单用户进入系统,以下为解决办法
2、解决思路
单用户进入系统,在系统登录界面以下
按e进入grub编辑界面,找到以下行
行尾增加 init=/bin/sh
如下
然后ctrl+x
进入系统,进入系统之后查看磁盘,没啥问题,尝试直接在这里修改密码
将根分区重挂载为可读写模式
mount -o remount,rw /
然后passwd root
结果报一样的错
接下来想到文件权限问题
ls -l /etc/shadow
如下,该文件权限为000
查看正常的系统,这个文件权限是一样,也是000,并没有变过,很奇怪,只能死马当活马医,尝试改这个文件的权限
chmod 064 /etc/shadow
然后再次改密码,然后成功了!~~
原因未知,但实测可行
续:
当日期没到期的时候,即使shadow文件是000权限,也可正常修改密码