CentOS中SELinux通过端口标记控制服务对端口的访问权限,核心操作如下:
- 查看SELinux状态
sestatus # 查看是否启用(Enforcing/Permissive/Disabled) - 查看端口标记规则
semanage port -l # 列出所有端口类型及对应服务(如http_port_t对应80、443端口) - 添加端口标记(允许服务使用非默认端口)
sudo semanage port -a -t <服务类型> -p<协议> <端口号> # 示例:允许HTTP服务使用8080端口 sudo semanage port -a -t http_port_t -p tcp 8080 - 删除或修改端口标记
sudo semanage port -d -t <服务类型> -p<协议> <端口号> # 删除标记 sudo semanage port -m -t <新类型> -p<协议> <端口号> # 修改标记类型 - 临时/永久调整SELinux模式
- 临时设为宽容模式(不阻止违规操作,仅记录日志):
setenforce 0 - 永久修改模式:编辑
/etc/selinux/config,设置SELINUX=permissive或SELINUX=disabled(不推荐禁用)。
- 临时设为宽容模式(不阻止违规操作,仅记录日志):
注意:修改后需重启服务或系统使策略生效,且需确保服务配置中监听地址为0.0.0.0或对应IP。
参考来源: