CentOS中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<协议> <端口号> # 修改标记类型
setenforce 0
/etc/selinux/config,设置SELINUX=permissive或SELINUX=disabled(不推荐禁用)。注意:修改后需重启服务或系统使策略生效,且需确保服务配置中监听地址为0.0.0.0或对应IP。
参考来源: