Linux 如何使用iptables将端口80限制为一个用户

Linux 如何使用iptables将端口80限制为一个用户,linux,networking,iptables,port80,Linux,Networking,Iptables,Port80,我想限制端口80,以便只有一个用户可以使用它。我想用iptables实现这一点,但我还没有找到任何关于如何实现这一点的文档。iptables有-m所有者--uid所有者######匹配,它“如果数据包是由具有给定有效用户id的进程创建的”如果您是指“具有离散uid的本地用户”,那么您可以使用所有者模块(-m owner)和--uid owner#选项 但这里有一些问题: 这仅适用于出站数据包 有些数据包没有所有者 就其本身而言,这些通常可能不是交易破坏者。但您需要有效地反转条件并阻止与用户不匹配

我想限制端口80,以便只有一个用户可以使用它。我想用iptables实现这一点,但我还没有找到任何关于如何实现这一点的文档。

iptables有
-m所有者--uid所有者######
匹配,它“如果数据包是由具有给定有效用户id的进程创建的”

如果您是指“具有离散uid的本地用户”,那么您可以使用所有者模块(
-m owner
)和
--uid owner#
选项

但这里有一些问题:

  • 这仅适用于出站数据包
  • 有些数据包没有所有者
  • 就其本身而言,这些通常可能不是交易破坏者。但您需要有效地反转条件并阻止与用户不匹配的数据包。我怀疑这将充分破坏协议处理,因此简单的尝试将失败


    我会说,转发端口80输出,您知道它将有一个用户关联到一个单独的链,然后只按用户过滤该链。这将足以中断其他用户的流量,而不是内部流量,以满足您的要求。

    什么是用户?您是指单一源IP地址?我只担心出站,因为我只想阻止请求的发出,如果请求被阻止,那么将如何产生任何输入响应。你能给出我需要使用的命令吗?我对iptables没有太多经验。