文件特殊属性
# 什么是特殊属性
这类文件属性凌驾于rwx
基础权限之上,是一种高级属性。
# 特殊属性的作用
- 创建一个文件,不允许被修改、移动、删除,包括
root
也不行(适合/etc/passwd
); - 创建一个文件,仅允许往文件里面追加数据,不允许修改、移动、删除(适合
sudo
审计日志);
# 特殊属性如何配置
Linux
系统通过chattr
来实现特殊属性的配置,通过lsattr
来查看特殊属性命令格式:
chattr [-RV][+/-/=<属性>] [文件或目录名]
- 参数
- -R:递归处理,将指定目录下的所有文件及子目录一并处理;
- -V:显示指令执行过程;
- +<属性>:开启文件或目录的该项属性;
- -<属性>:关闭文件或目录的该项属性;
- =<属性>:指定文件或目录的该项属性;
- 属性
a
:可对文件进行追加内容;i
:锁定文件,不允许其他操作;
- 参数
配置
/etc/passwd
文件,不能改,不能追加,不能删除;# 赋予i权限 [root@web ~]# chattr +i /etc/passwd # 验证权限 [root@web ~] # rm -f /etc/passwd rm: cannot remove '/etc/passwd':Operation not permitted
1
2
3
4
5
6配置
/var/log/secure
文件,只能追加写入日志,不允许手动修改,也不允许删除;# 赋予a权限 [root@web ~]# chattr +a /var/log/secure [root@web ~]# lsattr /var/log/secure -----a---------- /var/log/secure # 测试追加数据 [root@web ~]# echo "test" >> /var/log/secure # 不能删除,不能修改 [root@web ~]# rm -f /var/log/secure rm: cannot remove '/var/log/secure':Operation not permitted
1
2
3
4
5
6
7
8
9
10
11如果想取消特殊属性,需要使用
root
身份;[root@web ~]# chattr -i /etc/passwd [root@web ~]# chattr -a /var/log/secure
1
2
# 特殊属性场景示例
仅作为演示命令的用法,也是提供一个思路,实际的病毒要脚滑的多,要从多方面考虑
- 模拟病毒串改站点,然后使用
chattr
锁住文件,让病毒程序无法串改,然后追踪并杀死病毒程序;- 安装并启动
http
服务; - 模拟病毒脚本篡改网页内容;
- 锁定篡改文件,然后找出病毒,将其杀死;
- 安装并启动
安装
http
服务,然后启动对外[root@web ~]# setenforce 0 [root@web ~]# systemctl stop firewalld [root@web ~]# systemctl disable firewalld [root@web ~]# yum install httpd -y [root@web ~]# systemctl start httpd
1
2
3
4
5编写病毒脚本,尝试篡改网页内容
[root@web ~]# cat virus.sh #!/usr/bin/bash web_site=/var/www/html/index.html while true do echo "我是病毒code" > $iweb_site} sleep 20 done
1
2
3
4
5
6
7
8
9锁定篡改文件,然后杀死病毒
[root@web ~]# chattr +i /var/www/html/index.html [root@web ~]# kill $(ps -ef | grep virus | grep -v grep | awk '{print $2}')
1
2
Last Updated: 2021/11/12, 16:51:33