centos

centos context在实际应用中如何选择

小樊
49
2025-12-05 19:00:16
栏目: 智能运维

CentOS 中 SELinux Context 的选择与落地

一、先选对“类型”的原则

二、常见服务的 Context 选择

服务/场景 推荐文件/目录类型 关键布尔或注意点
Apache HTTP Server 静态内容:httpd_sys_content_t;CGI 脚本:httpd_sys_script_exec_t;脚本可读写:httpd_sys_rw_content_t;仅追加:httpd_sys_ra_content_t 启用 CGI:httpd_enable_cgi;默认 /var/www/htmlhttpd_sys_content_t;默认禁止写;用户家目录 user_home_t 默认不可被 httpd 读写
Nginx 静态内容:httpd_sys_content_t;代理/缓存等按实际模块与策略匹配 与 httpd 共享大量类型定义;以进程域与模块策略为准,避免放宽到可写类型
MariaDB/MySQL 数据目录:mysqld_db_t;日志:mysqld_log_t;运行目录:mysqld_var_run_t 目录需按类型设置并保持一致性,避免与 web 类型混用
PostgreSQL 数据目录:postgresql_db_t;日志:postgresql_log_t 与数据库进程域匹配,谨慎授予写权限
Samba 共享 共享目录:samba_share_t 与 httpd 类型隔离,避免误读/误写
自定义应用 先选最贴近的“系统已有类型”,必要时用布尔或细化策略;最后才考虑本地策略模块 不建议一开始就放宽到 unconfined_t 或关闭 SELinux

说明:上表中 httpd 相关类型与布尔为 RHEL/CentOS 常见默认值;Nginx 常用 httpd_sys_content_t 提供静态内容;数据库类型名称以实际策略包为准,部署时以系统自带类型与工具提示为优先。

三、落地步骤与命令清单

四、排错与优化要点

0
看了该问题的人还看了