我创建了一个学习账户,用于处理与学校相关的任何工作。它的目的是消除我常用账户的干扰,例如社交媒体和新闻网站。
我知道/etc/hosts
可以进行编辑以阻止访问某些域,但这是针对所有用户的,我不想每次想要聚焦时都必须切换管理员来更改它。
有什么办法可以阻止特定用户或群组访问这些域名吗?
答案1
您可以使用iptables
它来限制网络访问。该模块ipt_owner
使您能够按用户 ID 匹配网络数据包。类似以下命令
iptables -A OUTPUT -m owner --uid-owner mike --dst www.google.com -j DROP
将禁止用户 mike 访问 www.google.com。
由于 iptables 实际上是针对 IP 而不是主机名进行工作的,因此这将创建多个规则,每个规则针对 www.google.com 的 IP。缺点是您不能使用 iptables 来限制整个域,您必须对要限制的每个主机名重复该命令。
请注意:如果您是新手,iptables
您可能会遇到困难...;)