[root@localhost root]# ls -l /etc/shadow
-r-------- 1 root root 1110 3月 11 10:13 /etc/shadow
我用chmod 600 /etc/shadow
提示:chmod: 正在更改 ‘/etc/shadow’ 的权限: 不允许的操作
我回去我的red hat上看了下.
/etc/shadow文件的权限也是只有root只读,但可以使用adduser命令.
adduser命令填加用户时,不对shadow文件就行写入操作吗??
建议用pwck检查一下passwd文件的合法性
[root@localhost root]# pwck
pwck: cannot open file /etc/passwd
shadow文件本来就是只读的。你检查一下passwd文件。
是不是加了权限位
lsattr /etc/passwd
chattr -i !$
[root@localhost root]# lsattr /etc/passwd
----i-------- /etc/passwd
从你的lsattr /etc/passwd执行结果来看, 你的文件加了权限保护
用chattr -i /etc/passwd去掉它
前几天按一个网上的系统加固的文章,做了一次加固,没想到是这个问题.
解决方法:
# cd /etc
# chattr +i passwd
# useradd foo
useradd: unable to open password file
# lsattr passwd
----i--- passwd
# chattr -i passwd
# lsattr passwd
- passwd
## chattr -i /etc/gshadow //关键的一步
#useradd foo
参考资料:
chattr可以防止关键文件被修改
在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改,
可以设定该文件的"不可修改位(immutable)"。
例如:
chattr +i /etc/fstab
如果需要修改文件则:
chattr -i /etc/fstab
以后再修改文件。
参考资料2:
chattr [+-=] [ASacdistu] [文件或目录名称]
参数说明:
+-=:分别是"+"(增加)、"-"(减少)、"="(设定)属性
A:当设定了属性A,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免诸如手提电脑容易产生磁盘I/O错误的情况;
S:这个功能有点类似sync,是将数据同步写入磁盘中,可以有效避免数据流失;
a:设定a后,这个文件将只能增加数据而不能删除,只有root才能设定这个属性;
c:设定这个属性后,将会自动将此文件压缩,在读取时自动解压缩。但是在存储的时候,会现进行压缩在存储(对于大文件很有用);
d:当dump(备份)程序执行时,设定d属性将可使该文件(或目录)具有dump功效;
i:这个参数可以让一个文件”不能被删除、更名、设定链接,也无法写入数据,对于系统安全有很大的助益
j:当使用ext3文件系统格式时,设定j属性将使文件在写入时先记录在日志中,但是当filesystem设定参数为data=journalled时,由于已经设定了日志,所以这个属性无效
s:当文件设定了s参数时,它会被完全移出这个硬盘空间
u:与s相反,当使用u配置文件时,数据内容其实还可以存在于磁盘中,可以用来取消删除
示例:
chattr +i /etc/shadow //该文件无法更动了
chattr -i /etc/shadow //解除该属性
这个指令比较重要,尤其是在系统的安全方面。由于这些属性是隐藏性质,所以需要使用lsattr才能看到这些属性。
lsattr [-aR]
参数说明:
-a :将隐藏文件的属性也显示出来
-R :连同子目录的数据一并显示出来
chattr +i test1
lsattr