在服务器的系统里有很多关键的文件是不允许修改,以防止其他用户或者***者修改关键的文件,但是在实际生产环境中往往很多管理人员都没有注意这一点,这导致系统文件有会被改的可能性,如此就需要我们平时的对关键的文件加锁管理了,在系统中要加锁的关键文件,当然还有重要的不能被修改的文件也要加锁
[root@test test]# chattr +i /etc/passwd#用户关键信息文件
[root@test test]# chattr +i /etc/shadow#用户影子文件,存放用户的密文密码
[root@test test]# chattr +i /etc/gshadow#组影子文件
[root@test test]# chattr +i /etc/group#组文件
[root@test test]# chattr +i /etc/services#系统默认端口文件
加锁后连root用户都是无法对文件删除和修改的,其中chattr的使用参数和模式如下:
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防以外删除。
参数:
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。
但是如果有时要添加新用户的时候怎么办,或者有些明明有权限的文件不能被修改是为什么
[root@test test]# useradd test1
useradd:无法打开密码文件
我们可以看下用lsattr看下/etc/passwd文件的隐藏属性,像这样的都是被加锁过的文件
[root@test test]# lsattr /etc/passwd
----i-------- /etc/passwd
具体llattr的使用参数:
-a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
-d 显示,目录名称,而非其内容。
-l 此参数目前没有任何作用。
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 显示文件或目录版本。
-V 显示版本信息。
所以如果是需要修改那个文件就需要修改文件的隐藏属性就可以
[root@test test]# chattr -i /etc/passwd
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。