SElinuxエラー:ValueError:ポートtcp / 5000はすでに定義されています


13

ポート5000でApacheのSELinuxに例外を追加しようとしていたので、次のコマンドを使用しました。

 # 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のステータスが定義されていることがわかりました。

ただし、-aオプションを-mfor modifyに置き換えることで、tcpポート5000を追加しましたhttp_port_t

回答:


27

そのため、別のサービスのTCPポート5000のステータスが定義されていることがわかりました。

しかし、交換することにより-aでオプションを-m追加、修正のためtcp port 5000http_port_t

したがって、機能するコマンドは次のとおりです。

# semanage port -m -t http_port_t -p tcp 5000

9

私が手にしなければならないシステム(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

はい、ありがとう、必要なことをしました。私も同僚の助けを借りて、ブログのコメントセクションで答えを見つけました:)
panickedprocrastinator
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.