使用chattr +i给/etc/目录增加特殊权限后,无法使用useradd新增用户和使用passwd修改密码

故障模拟

[root@rhel9-1-9 ~]# chattr +i /etc/
[root@rhel9-1-9 ~]# lsattr -d /etc/
----i----------------- /etc/
[root@rhel9-1-9 ~]# echo 123 | passwd root
Changing password for user root.
New password: BAD PASSWORD: The password is shorter than 8 characters
Retype new password: Password change has been aborted.
passwd: Authentication token manipulation error
[root@rhel9-1-9 ~]# useradd testuser
useradd: /etc/passwd.2327: Operation not permitted
useradd: cannot lock /etc/passwd; try again later.
[root@rhel9-1-9 ~]# usermod -s /sbin/nologin wang
usermod: /etc/passwd.2340: Operation not permitted
usermod: cannot lock /etc/passwd; try again later

问题分析

使用chattr给目录增加权限后

我们在使用useraddpasswd修改用户属性的时候,会进行相关文件的另存为,比如我们使用useradd新创建一个用户,原来的/etc/passwd文件将另存为/etc/passwd-,这样的操作就相当于需要在/etc/目录新生成一个文件,所有会受到/etc/特殊权限+i的限制,从而发生报错。
这种现象同样也适用于/etc/shadow-,/etc/gshadow和/etc/group-文件也是如此。当这些文件被更改时,旧文件将被保存以破折号“-”结尾。因此,这些只是备份文件。

posted @ 2023-02-20 21:50  18cm的烦恼  阅读(119)  评论(0编辑  收藏  举报