Ich gehe davon aus, dass Benutzer A und B dieselben Linux-Computer verwenden, auf denen Sie der Administrator sind. (Aus Ihrer Frage geht nicht ganz klar hervor. Wenn A und B über eigene Computer verfügen, auf denen sie Administratoren sind, ist dies ein völlig anderes Problem.)
Der folgende Befehl verhindert, dass der Benutzer mit der UID 1234 Pakete auf der Schnittstelle sendet eth0
:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Ich empfehle, das Ubuntu iptables-Handbuch zu lesen , um sich mit dem Tool vertraut zu machen (und auf der Manpage finden Sie erweiterte Informationen wie die Mangle-Tabelle).
Der Benutzer kann weiterhin Ping ausführen (da es sich um setuid root handelt), aber sonst nichts. Der Benutzer kann weiterhin eine Verbindung zu einem lokalen Proxy herstellen, wenn dieser Proxy von einem anderen Benutzer gestartet wurde.
Fügen Sie -D
den obigen Befehl hinzu , um diese Regel zu entfernen .
Um die Regel dauerhaft zu machen, fügen Sie sie hinzu /etc/network/if-up.d/my-user-restrictions
(machen Sie das zu einem ausführbaren Skript, das mit beginnt #!/bin/sh
). Oder verwenden Sie iptables-save
( weitere Informationen finden Sie im Ubuntu iptables-Handbuch ).
Ich würde dafür keine iptables verwenden.
Ich gehe davon aus, dass A und B den festen IPs ClientA und ClientB zugeordnet sind. Ich gehe davon aus, dass Ihr Internet-Proxy ServerI ist (Ihr Ubuntu-Server?).
Daher würde ich einen Verweigerungs- / Lösch-Routing-Eintrag von ClientA zu ServerI hinzufügen.
Ich verwende Ubuntu nicht - daher kann ich Ihnen nicht sagen, welche Konfigurationsdatei verwendet werden soll, um diese Einstellung dauerhaft zu machen (nach einem Neustart).
Vielleicht kann jemand dieses Detail hinzufügen?
quelle