修改密码时报错:
导致无法修改。
原因分析可能有以下问题:
1. 根目录空间不足导致无法写入
查看分区情况
df
<df –Th>
du
<du –sh>
解决办法:如果根目录满了,就删除部分不必要的文件即可。
2. Inode满了导致
<df –i>
若根目录下的inode使用满100%
解决办法:删除无用的临时文件和家目录0字节的文件
<find /tmp -type f -exec rm {} \;>
<find /home -type f -size 0 -exec rm {} \;>
3. 密码文件不同步
查看passwd和shadow文件
cat /etc/passwd
cat /etc/shadow
对比两个文件中,登录用户ops的信息是否有差异,若有则不同步
解决办法:pwconv命令,将/etc/passwd文件投影到/etc/shadow文件中,根据passwd文件修改shadow文件
4. 密码文件权限问题
查看 /etc/passwd 和/etc/shadow 的属性是否设置为不可修改
lsattr /etc/passwd
lsattr /etc/shadow
查看存放用户和密码的文件 属性,若有i属性,表明该文件不能被修改:无法被删除或重命名,无法为此创建任何链接文件,不能将任何数据写入该文件。若有a属性,表明该文件不能被删除、改名、原有内容无法修改,只能追加内容。
解决办法:chattr -i /etc/passwd /etc/shadow用chattr命令将i/a权限撤销
5. 处于单用户模式只读模式
更改属性时报错:chattr -i /etc/passwd:chattr:Read-only file system while setting flags on /etc/passwd
解决办法:将/目录重新挂载
mount -n -o remount,rw /
最后测试一下,已能正常修改密码。