Port

SElinux 錯誤:ValueError:埠 tcp/5000 已定義

  • July 18, 2016

我一直在嘗試為埠 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_thttp_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

引用自:https://serverfault.com/questions/790404