web-dev-qa-db-ja.com

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

ポート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オプションを変更するために-mに置き換えることにより、TCPポート5000をhttp_port_tに追加しました。

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

しかし、-aオプションと-m変更用、追加されたtcp port 5000からhttp_port_t

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

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

私が手にしなければならないシステム(C6、C7およびF24)では、tcpポート5000にcommplex_port_tのSELinuxコンテキストがあります。これが理由です。追加しようとすると、エラーメッセージが表示されます

/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
10
user9517