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选项替换-m为进行修改,将tcp端口5000添加到http_port_t

Answers:


28

因此,我发现另一个服务的TCP端口5000的状态已定义。

但通过将-a选项替换-m为for修改,添加tcp port 5000http_port_t

因此,有效的命令是:

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

10

在我必须使用的系统(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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.