在一次服务器突然停电后的第二天,如常上班。来了个新人入职要ERP账号。这没说的,开工!熟练登陆ERP后台,登陆root账户,输入新建用户命令:adduser hfy_test1,一直正常工作的系统突然跟我说:
useradd: failure while writing changes to /etc/passwd 。如下图。
吓的我赶紧检查一下是不是登陆错用户了,一看前面 root@APServer ,没错。于是问了度娘。答案如下:
可能1:账户权限不足。 —- 我是root 用户,当然是有权限的。 排除!
可能2:空间完全满了,一个字节都放不下。 —- 我df – h了一下,有空间。排除!
可能3:/etc/passwd ;被赋予了只读。所以检查文件是不是加了i属性导致的。在/etc下输入命令 lsattr /etc/passwd
看下会不会出现 “—–i——-e– /etc/passwd” 这样的情况。我试一下,如下图
[root@APServer etc]# lsattr /etc/passwd
-------------e-- /etc/passwd
— — 只有一个e,是正常的,排除! PS:如果有,移除的命令是:chattr -i /etc/passwd
可能4:开启发selinux ,导致权限不足。检查一下vi /etc/selinux/config,看SELINUX是否为enable,如果是,就表示的确开启了。那就把它关掉。修改vi /etc/selinux/config,将SELINUX改为disabled
—- 我检查了一下,我这本来就是disabled,所以没有开启。 排除!
可能5:安装什么安全软件,/etc/passwd文件没有添加例外,被列入保护了。
比如安装了 云锁,IPGuard 加密 等。 —- 我用不起这些东西。 排除!
可能6:多出一个passwd.lock文件导致 ;原因可能是之前使用到这个文件时没有正常关闭(突然断电),导致此文件一直被锁了。
进入/etc目录,检查命令:ls -al (查询所有文件,包括后缀文件) 是否存在/etc/passwd.lock 或者 pwd.lock 的文件;
命令一上,果然发现了这个文件:
解决方案,干掉它!
删除完成后,最好重启一下。有种情况,再去建立用户时又给你生成了。
再去建立用户。一切正常了。 原因嘛,应该就是突然断电关机引起的。
本故事完!
转载请注明:赫非域 » useradd: failure while writing changes to /etc/passwd