Ubuntu如何简化SELinux配置
导读:Ubuntu 简化 SELinux 配置的实用流程 一 快速启用与最小配置 安装必要组件并激活 SELinux(Ubuntu 默认不启用 SELinux): 安装软件包:sudo apt update && sudo a...
Ubuntu 简化 SELinux 配置的实用流程
一 快速启用与最小配置
- 安装必要组件并激活 SELinux(Ubuntu 默认不启用 SELinux):
- 安装软件包:sudo apt update & & sudo apt install selinux-basics selinux-policy-default auditd
- 激活引导参数:sudo selinux-activate(确保内核启动参数包含 security=selinux)
- 设定为宽容模式并重启,便于首次部署与排错:
- 编辑 /etc/selinux/config:将 SELINUX=permissive
- 重启:sudo reboot
- 验证状态与上下文:
- 查看状态:sestatus、getenforce
- 查看上下文:ls -Z、ps -Z
- 说明:Ubuntu 对 SELinux 的支持相对有限,若需更完善的生态与工具链,可考虑 RHEL/CentOS 等发行版。
二 日常简化运维命令清单
- 模式切换(临时/永久)
- 临时切换:sudo setenforce 0|1(0=Permissive,1=Enforcing)
- 永久生效:编辑 /etc/selinux/config 的 SELINUX= 项并重启
- 策略与布尔值管理
- 查看/切换布尔:getsebool 、setsebool -P on|off(加 -P 永久)
- 端口类型:sudo semanage port -a -t http_port_t -p tcp 8080
- 文件上下文:sudo semanage fcontext -a -t httpd_sys_content_t “/var/www/html(/.*)?”
- 应用文件上下文:sudo restorecon -Rv /var/www/html
- 模块与日志
- 列出模块:semodule -l
- 按需放行(从拒绝日志生成模块):sudo ausearch -m avc -ts recent | audit2allow -M mypol & & sudo semodule -i mypol.pp
- 解释拒绝原因:sudo ausearch -m avc -ts recent | audit2why
- 提示:semanage 可集中管理登录映射、用户、端口、接口、节点、文件上下文、布尔与模块等,避免直接改策略源码。
三 最小化策略定制模板
- 场景:让自定义脚本(如 /usr/local/bin/my_script)读写 /var/www/html
- 编译模块
- 新建文件 custom_policy.te:
- policy_module(custom_policy, 1.0)
- type my_script_t;
- type my_script_exec_t;
- init_daemon_domain(my_script_t, my_script_exec_t)
- allow my_script_t httpd_sys_rw_content_t:dir { read write } ;
- 编译安装:make -f /usr/share/selinux/devel/Makefile & & sudo semodule -i custom_policy.pp
- 新建文件 custom_policy.te:
- 标记可执行文件并恢复上下文
- 标记类型:sudo semanage fcontext -a -t my_script_exec_t “/usr/local/bin/my_script”
- 应用:sudo restorecon -v /usr/local/bin/my_script
- 验证:getenforce、sestatus、必要时查看 /var/log/audit/audit.log 的 AVC 拒绝。
- 编译模块
四 排错与回退建议
- 快速定位
- 查看最近拒绝:sudo ausearch -m avc -ts recent
- 原因解释:sudo ausearch -m avc -ts recent | audit2why
- 安全回退
- 临时放行:sudo setenforce 0(宽容模式仅记录不阻断)
- 永久回退:编辑 /etc/selinux/config 为 SELINUX=permissive 并重启
- 谨慎禁用
- 将 SELINUX=disabled 需要重启,且下次启用需再次改回并重启;不建议在生产环境长期使用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何简化SELinux配置
本文地址: https://pptw.com/jishu/749090.html
