本文永久链接: https://www.xtplayer.cn/linux/authentication-token-manipulation/

问题现象

修改密码时出现以下错误:

root@alihost-01:~# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
root@alihost-01:~#

问题分析与解决

  1. 先查看 /etc/shadow 文件的权限,发现都是正常的权限

    ls -l /etc/shadow
    -rw-r----- 1 root shadow 1025 Feb 11 22:11 /etc/shadow
  2. 尝试强制修改 /etc/shadow 文件权限,报如下错误

    root@alihost-01:~# sudo chmod 0640 /etc/shadow
    chmod: changing permissions of '/etc/shadow': Operation not permitted
  3. 用 lsattr 命令查看 /etc/passwd 的隐藏权限,发现被设置了 a 权限

    root@alihost-01:~# lsattr /etc/shadow
    -----a-------e-- /etc/shadow
  4. 通过 chattr 去除 a 权限

    root@alihost-01:~# chattr -a /etc/shadow
  5. 再次查看 /etc/passwd 的隐藏权限

    root@alihost-01:~# lsattr /etc/shadow
    -------------e-- /etc/shadow
  6. 再次修改密码

    root@alihost-01:~# passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    root@alihost-01:~#