在服务器的系统里有很多关键的文件是不允许修改,以防止其他用户或者***者修改关键的文件,但是在实际生产环境中往往很多管理人员都没有注意这一点,这导致系统文件有会被改的可能性,如此就需要我们平时的对关键的文件加锁管理了,在系统中要加锁的关键文件,当然还有重要的不能被修改的文件也要加锁
[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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。