故障现象

1、修改密码时报错 passwd: Authentication token manipulation error
2、添加用户报错:unable to lock password file

分析问题

1、检查相关配置文件

1 /etc/passwd
2 /etc/shadow

检查上面两相配置文件并与正常主机进行比对,未发现异常。

2、查看磁盘使用率

根据报错信息,google查看提示有可能是磁盘空间满引起。不过通过df 查看时未发现异常

df-disk.png

3、strace追踪分析

使用命令strace -f passwd 追踪分析原因,看到关键报错信息:“No space left on device”,即然df查看硬盘空间够用,很可能就是inode满了。查看的确是根分区inode满了,如下:

strace-dfi.png

查找原因

/var/spool/clientmqueue 生成的文件占用完inode,此目录下文件的产生原因主要是crontab里面的命令没有添加“>/dev/null 2>&1”标准输出、错误输出信息都输入到/dev/null。

clientmqueue.png

解决方法

1、删除clientmqueue文件

1ls /var/spool/clientmqueue |xargs rm -rf

2、将crontab任务命令后面添加“>/dev/null 2>&1”