如何创建网络访问受限的新用户

如何创建网络访问受限的新用户

我想创建一个新用户(或组),以便使用该用户运行的任何应用程序都无法连接到网络。

@Michael Kjörling 我遵循了你的建议(使用 Ubuntu 12.04 64 位)并得到了一些错误信息:

$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -i lo -j REJECT --reject-with network-unreachable
iptables v1.4.12: unknown reject type "network-unreachable"
Try `iptables -h' or 'iptables --help' for more information.

$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -i lo -j REJECT 
iptables v1.4.12: Can't use -i with OUTPUT

Try `iptables -h' or 'iptables --help' for more information.
$ sudo iptables -A OUTPUT -m owner --uid-owner xyz ! -j REJECT 
iptables v1.4.12: cannot have ! before -j
Try `iptables -h' or 'iptables --help' for more information.

最后,下面这个就可以了。但我不确定是否有什么问题。

$ sudo iptables -A OUTPUT -m owner --uid-owner xyz -j REJECT 
$ 

答案1

您可以使用 iptables 的所有者匹配扩展 (ipt_owner.ko) 以及环回接口的例外来阻止特定用户的外部网络通信。 (或者,仅允许一组用户访问网络。)

例如:

modprobe ipt_owner
iptables -A OUTPUT -m owner --uid-owner $USERNAME ! -o lo -j REJECT

(未经测试,但应该了解要点。)将 $USERNAME 替换为相关用户的登录名。

如何使用 iptables 限制用户/组的网络访问 - 所有者匹配Nikesh Jauhari 提供了一些背景知识。它也可以用于团体,但我不确定它如何处理主要和次要团体。

相关内容