如何在系统上禁用用户的互联网

如何在系统上禁用用户的互联网

我知道如何更改特定程序/文件的所有者/权限,但如何控制哪些用户可以访问网卡(网卡)或有能力创造网络套接字

答案1

正如所描述的这里,你可以使用以下命令阻止某些用户的所有 Internet 访问iptables

sudo iptables -A OUTPUT -m owner --uid-owner {USERNAME} -j REJECT
sudo ip6tables -A OUTPUT -m owner --uid-owner {USERNAME} -j REJECT

如果您希望该命令在系统启动时自动运行,则应将其添加到文件的末尾/etc/rc.local

虽然这不会使这些用户无法创建套接字,但它会阻止所有传出流量(如防火墙)。

答案2

如果防火墙是您的设置的一部分,您可以使用直接规则阻止特定用户的网络访问,例如:

/etc/firewalld/direct.xml
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
<?xml version="1.0" encoding="utf-8"?>
<direct>
  <chain ipv="ipv4" 
         table="filter" 
         chain="restrict_user_ipv4"/>
  <rule ipv="ipv4" 
        table="filter" 
        chain="OUTPUT" 
        priority="1">-m owner --uid-owner user -j restrict_user_ipv4</rule>
  <rule ipv="ipv4" 
        table="filter" 
        chain="restrict_user_ipv4" 
        priority="3">-j DROP</rule>
  <chain ipv="ipv6" 
         table="filter" 
         chain="restrict_user_ipv6"/>
  <rule ipv="ipv6" 
        table="filter" 
        chain="OUTPUT" 
        priority="1">-m owner --uid-owner user -j restrict_user_ipv6</rule>
  <rule ipv="ipv6" 
        table="filter" 
        chain="restrict_user_ipv6" 
        priority="3">-j DROP</rule>
</direct>

不要忘记重新加载

# firewall-cmd --reload

参考

相关内容