Předpokládám, že uživatelé A a B používají stejný počítač se systémem Linux, kde jste správcem. (Z vaší otázky to není úplně jasné. Pokud A a B mají vlastní počítače, na kterých jsou správci, je to úplně jiný problém.)
Následující příkaz zabrání uživateli s uid 1234 odesílat pakety na rozhraní eth0
:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
ip6tables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Doporučuji přečíst si průvodce Ubuntu iptables, abyste se s tímto nástrojem seznámili (a pokročilé věci, jako je mandlová tabulka, najdete v manuálové stránce).
Uživatel bude stále moci spouštět ping (protože je to setuid root), ale ne nic jiného. Uživatel se bude stále moci připojit k místnímu proxy, pokud byl tento proxy spuštěn jiným uživatelem.
Chcete-li toto pravidlo odstranit, přidejte -D
na příkaz výše.
Aby bylo pravidlo trvalé, přidejte jej do /etc/network/if-up.d/my-user-restrictions
(udělejte z toho spustitelný skript začínající #!/bin/sh
). Nebo použijte iptables-save
(další informace naleznete v příručce Ubuntu iptables).