1、首先尝试重启系统
2、检查 PAM Module 设置是否正确
PAM 设置一般存放在 /etc/pam.d/ 目录中
可以尝试通过运行 sudo pam-auth-update 来修复该问题
3、查看 /etc/shadow 文件权限
/etc/shadow 文件存储了加密后的用户密码,很明显 passwd 命令修改密码时需要修改该文件,因此 root 需要对该文件具有读写权限。
sudo chmod 0600 /etc/shadow
4、根目录是否挂载成只读
同上一条原因,若根目录挂载成只读,则 /etc/shadow 文件很可能也就无法修改了。
要修复该问题,只需要重新挂载根目录即可
sudo mount -o remount,rw /
5、修复文件系统错误
使用fsck之类的磁盘扫描工具修复文件系统错误
6、清理磁盘空间
若磁盘空间满了,而 passwd 修改后的 /etc/shadow 文件占用空间增加,则也可能报这个错误

