useradd 或者 userdel 相关用户管理命令不好用
前言
有时使用useradd或者userdel会出现如下报错:
userdel: cannot open /etc/passwd
很明显是/etc/passwd文件导致的
一、查看以及改变文件状态
[root@uat1 admin]# lsattr /etc/passwd ----i--------e- /etc/passwd
这里是就可以看到文件的权限是禁止操作的
[root@uat1 admin]# chattr -i /etc/passwd [root@uat1 admin]# lsattr /etc/passwd -------------e- /etc/passwd
这样操作以后就可以解除控制
同样的 将/etc/shadow文件也进行这样的操作
[root@uat1 admin]# lsattr /etc/shadow ----i--------e- /etc/shadow [root@uat1 admin]# chattr -i /etc/shadow
这个时候再运行userdel就不会出错
二、分析原因
我们都知道,chmod命令是用来更改文件的查看写入修改的
那么chattr又是什么呢?
chattr相比chmod更高级一些,可以更改更多的权限
但是在生产环境中,我们其实只需要chattr +i即可用来提高服务器安全
可以把它想象成一个锁,把关键的文件锁起来不允许别人操作,即使是root
但是也是有一定的缺陷,他不可以对以下的文件进行操作
/、/dev、/tmp、/var
继续为我们的服务器安全努力。