linux – CentOS – semanage – 删除端口范围

前端之家收集整理的这篇文章主要介绍了linux – CentOS – semanage – 删除端口范围前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
令人惊讶的是,找不到有关如何通过semanage端口删除一系列端口的任何明确信息.这是我尝试的排列列表:
semanage port -d -t http_port_t -p tcp 0-60000
semanage port -d -t http_port_t -p tcp [1-60000]
semanage port -d -t http_port_t -p tcp 1,60000
semanage port -d -t http_port_t -p tcp 1-60000
semanage port -d -t http_port_t -p tcp 1 60000
semanage port -d -t http_port_t -p tcp 1,60000
semanage port -d -t http_port_t -p tcp <60000
semanage port -d -t http_port_t -p tcp '1-60000'
semanage port -d -t http_port_t -p tcp '1,60000'
semanage port -d -t http_port_t -p tcp 1000-10000

有关如何指示范围的帮助信息不明确:

root@service1 /etc/yum/pluginconf.d # -> semanage -h
/usr/sbin/semanage: 
semanage [ -S store ] -i [ input_file | - ]
semanage [ -S store ] -o [ output_file | - ]

semanage login -{a|d|m|l|D|E} [-nrs] login_name | %groupname
semanage user -{a|d|m|l|D|E} [-LnrRP] selinux_name
semanage port -{a|d|m|l|D|E} [-nrt] [ -p proto ] port | port_range

解决方法

那令人印象深刻,你让我去源代码找到答案.您确实偶然发现了第一次尝试定义范围的正确方法:两个数字必须用连字符分隔.

是什么让你感到高兴:

(rc,exists) = semanage_port_exists(self.sh,k)
if rc < 0:
    raise ValueError(_("Could not check if port %s/%s is defined") % (proto,port))
if not exists:
    raise ValueError(_("Port %s/%s is not defined") % (proto,port))

如果在添加规则时指定端口范围,则必须在删除规则时指定相同的端口范围.例如:

sudo semanage port -l | grep ^http_port_t
http_port_t                    tcp      80,443,488,8008,8009,8443

删除它们,必须为逗号之间的每个端口或端口范围调用一次delete.它们不能是连续的范围,因为它们没有这样定义.

相反,通过这个例子:

MysqLd_port_t                  tcp      1186,3306,63132-63163

您无法单独删除63132或63133.您必须指定该确切范围.

添加和删​​除范围的示例:

semanage port --add -t http_port_t -p tcp 8899-8902
semanage port --delete -t http_port_t -p tcp 8899-8902
原文链接:https://www.f2er.com/linux/399897.html

猜你在找的Linux相关文章