Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

    • Bash shell
    • 文件属性
    • 编辑工具vim
    • 用户管理
    • 用户组管理
    • 普通用户提权
    • 基础权限
    • 特殊权限
    • 文件特殊属性
      • 什么是特殊属性
      • 特殊属性的作用
      • 特殊属性如何配置
      • 特殊属性场景示例
    • IO重定向
    • 文件查找
    • 文件压缩
    • 软件包管理

    • 磁盘管理

    • 进程管理
    • 计划任务
    • systemd
    • Supervisor
    • 网络管理

    • Chrony时间同步
    • NFS网络文件系统
  • Linux进阶

  • 其他

  • 运维
  • Linux基础
Brc
2021-07-05
目录

文件特殊属性

# 什么是特殊属性

这类文件属性凌驾于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服务;
    • 模拟病毒脚本篡改网页内容;
    • 锁定篡改文件,然后找出病毒,将其杀死;
  1. 安装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
  2. 编写病毒脚本,尝试篡改网页内容

    [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
  3. 锁定篡改文件,然后杀死病毒

    [root@web ~]# chattr +i /var/www/html/index.html
    [root@web ~]# kill $(ps -ef | grep virus | grep -v grep | awk '{print $2}')
    
    1
    2
#Linux
Last Updated: 2021/11/12, 16:51:33
特殊权限
IO重定向

← 特殊权限 IO重定向→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式