Linux chattr锁定关键的系统文件

本文介绍如何利用chattr命令锁定关键系统文件以提高Linux系统的安全性,并提供了详细的命令示例和技巧。

  我们通过chattr来锁定一个文件为不可修改或不可删除时,要用到chattr的+i数;这在ext2和ext3文件系统是有效的,但在reiserfs文件系统是没有任何效果的;

8种模式:

a:让文件或目录仅供附加用途。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:将文件或目录排除在倾倒操作之外。

i:不得任意更动文件或目录。

s:保密性删除文件或目录。

S:即时更新文件或目录。

u:预防以外删除。

语法:

chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

参数:

  -R 递归处理,将指定目录下的所有文件及子目录一并处理。

  -v<版本编号> 设置文件或目录版本。

  -V 显示指令执行过程。

  +<属性> 开启文件或目录的该项属性。

  -<属性> 关闭文件或目录的该项属性。

  =<属性> 指定文件或目录的该项属性。

  

命令示例:

1
2
3
4
5
6
7
8
9
[root@w zdw]# chattr +a test.sh 
[root@w zdw]# rm -f test.sh 
rm: cannot remove `test.sh': Operation not permitted
[root@w zdw]# echo 11 >>test.sh 
[root@w zdw]# echo 11 >>test.sh 
[root@w zdw]# echo 11 >test.sh  
-bashtest.sh: Operation not permitted
[root@w zdw]# lsattr test.sh 
-----a-------e- test.sh

  

锁定关键的系统文件可以增加系统的安全性,使用chattr命令来锁定,下面是几个需要锁定的文件:

chattr +i /etc/passwd   用户文件

chattr +i /etc/shadow   用户密码文件

chattr +i /etc/group    用户组文件

chattr +i /etc/gshadow  主密码文件

chattr +i /etc/inittab  开机启动的重要文件

示例:

加锁:

1
2
3
4
5
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
[root@localhost ~]# rm -f /etc/passwd
rm: cannot remove '/etc/passwd': Operation not permitted
[root@localhost ~]# useradd test1
useradd: cannot open /etc/passwd

解锁:

1
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

注:非法用法也可以使用chattr -i来解锁。我们可以把chattr换成别的名称,这样就找不到了。如下

修改chattr名称:

1
2
3
4
5
6
7
8
[root@localhost ~]# which chattr                           找到chattr在哪
/usr/bin/chattr
[root@localhost ~]# mv /usr/bin/chattr /usr/bin/zdw        把chattr换成zdw
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
-bash/usr/bin/chattr: 2‰é£a––     用chattr解锁不成功
[root@localhost ~]# zdw -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
[root@localhost ~]# useradd test1                          用zdw解锁成功,添加新用户成功
[root@localhost ~]#

查看是否加锁:

1
2
3
4
5
6
[root@localhost ~]# zdw +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
[root@localhost ~]# lsattr /etc/passwd                      查看是否加锁用lsattr命令
----i----------- /etc/passwd                                如果有i就说明加锁了
[root@localhost ~]# zdw -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
[root@localhost ~]# lsattr /etc/passwd
---------------- /etc/passwd                                没有i就说明没有加锁







      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1766589,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值