Port
SElinux 錯誤:ValueError:埠 tcp/5000 已定義
我一直在嘗試為埠 5000 上的 apache 添加一個例外。所以我使用了命令:
# semanage port -a -t http_port_t -p tcp 5000
但返回錯誤,
ValueError: Port tcp/5000 already defined
我嘗試使用以下命令檢查是否如此:
semanage port -l |grep 5000
這給出了輸出,
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
如您所見,5000 不在列表中。
我有什麼明顯的遺漏嗎?預先感謝您的努力
所以我發現另一個服務對 TCP 埠 5000 有一個定義的狀態。
但是通過用 for modify 替換
-a
選項-m
,將 tcp 埠 5000 添加到http_port_t
所以我發現另一個服務對 TCP 埠 5000 有一個定義的狀態。
但是通過用for modify替換
-a
選項,添加到-m``tcp port 5000``http_port_t
所以有效的命令是:
# semanage port -m -t http_port_t -p tcp 5000
在我必須使用的系統(C6、C7 和 F24)上,tcp 埠 5000 的 SELinux 上下文為
commplex_port_t
. 這就是為什麼當您嘗試添加它時會收到錯誤消息/usr/sbin/semanage: Port tcp/5000 already defined
要將 tcp 埠 5000 的上下文從更改
commplex_port_t
為http_port_t
您需要使用 -m | –修改開關-m, --modify Modify a OBJECT record NAME
所以
semanage port -m -t http_port_t -p tcp 5000
應該做你想做的
semanage port -l | grep 5000 http_port_t tcp 5000, 80, 81, 443, 488, 8008, 8009, 8443, 9000