我一直试图在端口5000上为apache添加一个exception到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定义的状态。
但是通过用-mreplace-a选项来修改,将tcp端口5000添加到http_port_t
所以我发现另一个服务有一个为TCP端口5000定义的状态。
但是通过用-mreplace-a选项来修改,将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