SELinux (Security-Enhanced Linux) 提供了多种工具来查看策略规则。以下是常用的查看方法:
sesearch
命令sesearch
是查看 SELinux 策略规则的主要工具,属于 setools
软件包。
# 安装 setools
sudo yum install setools # RHEL/CentOS
sudo apt-get install setools # Debian/Ubuntu
# 基本用法
sesearch --allow [-s 源类型] [-t 目标类型] [-c 对象类] [-p 权限] [策略文件]
# 查看允许某个类型执行的所有规则
sesearch --allow -s httpd_t
# 查看允许访问特定类型文件的所有规则
sesearch --allow -t shadow_t
# 查看特定类型对特定类的权限
sesearch --allow -s httpd_t -t httpd_log_t -c file
# 查看特定权限的规则
sesearch --allow -p read,write
seinfo
命令查看 SELinux 策略的统计信息和组件:
# 查看策略基本信息
seinfo
# 查看所有类型
seinfo -t
# 统计信息
seinfo --stats
# 查看特定类型的属性
seinfo -t httpd_t -x
semanage
命令管理 SELinux 策略元素:
# 查看所有文件上下文
semanage fcontext -l
# 查看端口映射
semanage port -l
# 查看布尔值
semanage boolean -l
getsebool
命令查看 SELinux 布尔值状态:
# 查看所有布尔值
getsebool -a
# 查看特定布尔值
getsebool httpd_enable_homedirs
sepolicy
命令生成 SELinux 策略报告:
# 查看特定类型的策略信息
sepolicy generate -t httpd_t
# 查看特定命令的访问权限
sepolicy whatprovides -c file -p read -t httpd_log_t
# 查看 SELinux 拒绝消息
ausearch -m avc -ts recent
# 或使用
grep "avc:" /var/log/audit/audit.log
matchpathcon
命令检查文件或目录的默认安全上下文:
matchpathcon /var/www/html
# 列出已加载模块
semodule -l
# 查看模块详情
semodule -l --full
这些工具提供了不同层次的 SELinux 策略信息,可以根据具体需求选择合适的工具来查看和分析策略规则。