使用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给目录增加权限后
我们在使用useradd
,passwd
修改用户属性的时候,会进行相关文件的另存为,比如我们使用useradd
新创建一个用户,原来的/etc/passwd文件将另存为/etc/passwd-,这样的操作就相当于需要在/etc/目录新生成一个文件,所有会受到/etc/特殊权限+i的限制,从而发生报错。
这种现象同样也适用于/etc/shadow-,/etc/gshadow和/etc/group-文件也是如此。当这些文件被更改时,旧文件将被保存以破折号“-”结尾。因此,这些只是备份文件。
本文来自博客园,作者:18cm的烦恼,转载请注明原文链接:https://www.cnblogs.com/jubian520/p/17139091.html