SELinux如何在Ubuntu中调试
导读:Ubuntu 下 SELinux 调试实操指南 一 环境准备与启用检查 确认是否已安装并启用 SELinux:Ubuntu 默认不启用 SELinux,需先安装工具并激活。 安装基础组件:sudo apt update &&am...
Ubuntu 下 SELinux 调试实操指南
一 环境准备与启用检查
- 确认是否已安装并启用 SELinux:Ubuntu 默认不启用 SELinux,需先安装工具并激活。
- 安装基础组件:sudo apt update & & sudo apt install selinux-basics selinux-policy-default auditd setools
- 激活 SELinux:sudo selinux-activate
- 编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX_DEFAULT 中加入 selinux=enforcing,然后执行 sudo update-grub 并重启
- 检查运行状态:
- 查看详细状态:sestatus
- 查看当前模式:getenforce(返回 Enforcing/Permissive/Disabled)
- 注意:在 Ubuntu 上 SELinux 的支持相对有限,若需完整特性与生态,可考虑 RHEL/CentOS 等发行版。
二 日志与审计采集
- 确保审计服务运行并持久化:
- 状态/启停/开机自启:sudo systemctl status|start|enable auditd
- 重点查看 AVC 拒绝日志:
- 直接检索拒绝:grep -i “denied” /var/log/audit/audit.log
- 按时间范围检索 AVC:ausearch -m avc -ts recent -te now
- 生成 SELinux 审计报告:aureport -m selinux
- 若系统无 auditd 日志或日志过少,可临时将 SELinux 切到 Permissive 复现问题,再切回 Enforcing:
- 临时切换:sudo setenforce 0(宽容,仅记录不阻断)/ 1(强制)
- 永久切换:编辑 /etc/selinux/config 的 SELINUX= 为 permissive|enforcing,重启生效。
三 定位与修复流程
- 核对安全上下文:
- 查看文件/进程上下文:ls -Z /path;ps -eZ | grep
- 纠正或恢复上下文(示例为 Web 内容):
- 设定类型:chcon -Rv --type=httpd_sys_content_t /var/www/html/test.html
- 解释与生成策略模块:
- 解释拒绝原因:ausearch -m avc -ts recent | audit2why
- 生成并加载最小策略模块:
- ausearch -m avc -ts recent | audit2allow -M mypol
- sudo semodule -i mypol.pp
- 调整布尔值(示例开启 Apache 访问家目录):
- setsebool -P httpd_enable_homedirs 1
- 复测与回退:
- 重启相关服务(如 sudo systemctl restart apache2)并验证
- 若仍异常,可短暂回到 Permissive 确认是否为 SELinux 引起,再按日志迭代策略。
四 常用命令速查表
| 目标 | 命令示例 |
|---|---|
| 查看状态/模式 | sestatus;getenforce |
| 切换模式 | sudo setenforce 0/1;/etc/selinux/config 中设置 SELINUX=permissive |
| 检索拒绝日志 | grep -i denied /var/log/audit/audit.log;ausearch -m avc -ts recent |
| 生成报告 | aureport -m selinux |
| 查看/修复上下文 | ls -Z;ps -eZ;chcon -Rv --type=TYPE /path |
| 解释与生成策略 | ausearch … |
| 布尔值调整 | setsebool -P httpd_enable_homedirs 1 |
以上命令覆盖了从状态检查、日志分析到策略生成与加载的关键环节,可据此快速定位并修复大多数 SELinux 拒绝问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SELinux如何在Ubuntu中调试
本文地址: https://pptw.com/jishu/749095.html
