首页主机资讯Ubuntu如何简化SELinux配置

Ubuntu如何简化SELinux配置

时间2025-11-17 16:58:04发布访客分类主机资讯浏览1081
导读: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
  • 验证状态与上下文:
    • 查看状态:sestatusgetenforce
    • 查看上下文:ls -Zps -Z
  • 说明:Ubuntu 对 SELinux 的支持相对有限,若需更完善的生态与工具链,可考虑 RHEL/CentOS 等发行版。

二 日常简化运维命令清单

  • 模式切换(临时/永久)
    • 临时切换:sudo setenforce 0|1(0=Permissive,1=Enforcing)
    • 永久生效:编辑 /etc/selinux/configSELINUX= 项并重启
  • 策略与布尔值管理
    • 查看/切换布尔: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
    1. 编译模块
      • 新建文件 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
    2. 标记可执行文件并恢复上下文
      • 标记类型:sudo semanage fcontext -a -t my_script_exec_t “/usr/local/bin/my_script”
      • 应用:sudo restorecon -v /usr/local/bin/my_script
    3. 验证:getenforcesestatus、必要时查看 /var/log/audit/audit.log 的 AVC 拒绝。

四 排错与回退建议

  • 快速定位
    • 查看最近拒绝:sudo ausearch -m avc -ts recent
    • 原因解释:sudo ausearch -m avc -ts recent | audit2why
  • 安全回退
    • 临时放行:sudo setenforce 0(宽容模式仅记录不阻断)
    • 永久回退:编辑 /etc/selinux/configSELINUX=permissive 并重启
  • 谨慎禁用
    • SELINUX=disabled 需要重启,且下次启用需再次改回并重启;不建议在生产环境长期使用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu如何简化SELinux配置
本文地址: https://pptw.com/jishu/749090.html
ubuntu上golang编译脚本怎么编写 golang代码在ubuntu如何运行

游客 回复需填写必要信息