ポート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