今天在一台服务器上使用useradd
创建用户,竟然爆Permission denied
,我靠,我明明是root,竟然没有权限增加新用户,如图:
此时注意到下面还有一句话:useradd: cannot lock /etc/passwd; try again later
。于是怀疑到可能在/etc/下有一个文件把passwd锁住了。搜索一番,发现了.pwd.lock
这个文件,但是发现这个文件不能删除和改名,如图:
此时的我觉得root身份受到了很大的冒犯,怎么还有这种鬼现象?突然想到,可能这个锁文件被人给chattr
修改了,于是使用lsattr
查看这个文件,发现就剩下一个e属性了:
1
2[root@ip-172-31-7-167 etc]# lsattr .pwd.lock
-------------e- .pwd.lock
e属性是不能用chattr -e
删除的,而且也是一个很普通的属性,那么问题出在哪呢?
在/etc/
下执行lsattr -R -a
递归的查看所有文件(包含隐藏文件),发现原来当初是把整个/etc/
文件夹加了i,如图:
于是就在/etc/
路径下使用chattr -i .
破掉了i属性,此时再次尝试删除lock锁文件,终于删除掉,并且成功创建了用户,如图: