a4c26d1e5885305701be709a3d33442f.png

年底需要修改一次密码,修改的时候遇到了问题,无法修改密码,经过baidu

、google,找到了可能引起的原因,成功修改密码。

以下内容来自于网络

Authentication token manipulation error

发生该错误原因是:

1、分区没有空间导致。

2、/etc/passwd 和/etc/shadow不同步

但是这次上面两条却行不通,通过df查看根分区还有40%剩余。

1、尝试修改密码,出现错误

# passwd

Changing password for user root.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: Authentication token

manipulation error

2、同步/etc/passwd 和/etc/shadow出错

#pwconv

pwconv: can't lock passwd

file

3、看权限没有异常,也没有进程锁定该文件# ll

/etc/passwd

-rwxr--r-- 1 root root 2752 Dec 31 17:29 /etc/passwd

# fuser -u /etc/passwd

# lsof |grep passwd

4、cp lock文件出错,提示空间不足

# cp /tmp/.pwd.lock /etc/

cp: cannot create regular file `/etc/.pwd.lock': No space left on

device

5、上面的错误惊醒了我,查看确实是inode满了,删除无用的文件

#df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/sda5 2562240 2562240 0 100% /

/dev/sda1 50200 47 50153 1% /boot

/dev/sda2 51300000 12 51299988 1% /data/cache1

/dev/sdb1 51300000 7080311 44219689 14% /data/cache2

/dev/sdb2 9863168 11 9863157 1% /data/proclog

none 215907 1 215906 1% /dev/shm

/dev/sda3 3842720 305795 3536925 8% /usr

/dev/sda7 3162112 7893 3154219 1% /var

6、再次修改密码仍然出错,于是尝试修改/etc/passwd也出现错误

# chmod 777 /etc/passwd

chmod: changing permissions of `/etc/passwd': Operation not

permitted

7、执行chattr

#chattr -i /etc/passwd

# lsattr -v /etc/passwd

2095582053 ------------- /etc/passwd

# chattr -i /etc/shadow

8、同步文件

pwconv

9、成功修改密码

passwd

Changing password for user root.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

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中删除相关条目

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐