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

继续为我们的服务器安全努力。

原文地址:https://www.cnblogs.com/murry/p/8919106.html