解决方法
从技术角度来看,这实际上非常棘手(网络层通常不了解用户的任何信息;网络数据包中没有“用户”字段).
但是,Linux非常棒,确实为您提供了解决方案.您将需要iptables“owner”模块,并遵循以下规则:
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -o eth0 -m owner --uid-owner 500 -j DROP
其中“500”是用户的UID,您希望阻止其访问网络.第一条规则只允许所有出站端口80流量.
您可能需要在此工作之前加载所有者模块:
modprobe ipt_owner
因此,将其添加到您的rc.local文件或类似文件中.当然,这假定您的系统已安装此模块.我不知道在Debian上提供了什么包.它可能在标准的iptables包中.