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。
參考來源: