Linux 在root 使用useradd 出现useradd: cannot open /etc/passwd

出现这个原因主要是前面有人使用了下面命令把几个文件属性给修改了

chattr +i /etc/gshadow /etc/group/ /etc/shadow /etc/passwd
在这里插入图片描述

该命令的意思就是不允许把/etc/gshadow /etc/group/ /etc/shadow /etc/passwd这个目录给修改。而添加用户是必须修改这几个文件的。

首先使用使用lsattr查看了一下这几个文件:

[root@localhost ~]# lsattr /etc/passwd
----i--------- /etc/passwd [root@localhost ~]# lsattr /etc/group
----i-------- /etc/group [root@localhost ~]# lsattr /etc/shadow
----i--------- /etc/shadow [root@localhost ~]# lsattr /etc/gshadow
----i-------- /etc/gshadow

可以看到文件被设置的 i 这个隐藏权限,i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

既然这样只要把i权限去掉就应该好了。

因此,只需要执行下面的语句就可以了

chattr -i /etc/gshadow /etc/group/ /etc/shadow /etc/passwd

在这里插入图片描述

你可能感兴趣的:(linux)