Je suppose que les utilisateurs A et B utilisent les mêmes machines Linux que celles dont vous êtes l'administrateur. (Ce n'est pas tout à fait clair d'après votre question. Si A et B ont leurs propres ordinateurs sur lesquels ils sont administrateurs, c'est un problème complètement différent.)
La commande suivante empêchera l'utilisateur avec l'ID 1234 d'envoyer des paquets sur l'interface eth0
:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Je recommande de lire le guide Ubuntu iptables pour vous familiariser avec l'outil (et reportez-vous à la page de manuel pour des informations avancées comme le tableau mangle).
L'utilisateur pourra toujours exécuter la commande ping (car c'est la racine setuid), mais pas autre chose. L'utilisateur pourra toujours se connecter à un proxy local si ce proxy a été démarré par un autre utilisateur.
Pour supprimer cette règle, ajoutez -D
à la commande ci-dessus.
Pour rendre la règle permanente, ajoutez-la à /etc/network/if-up.d/my-user-restrictions
(créez-en un script exécutable commençant par #!/bin/sh
). Ou utilisez iptables-save
(voir le guide iptables Ubuntu pour plus d'informations).
Je n'utiliserais pas iptables pour cela.
Je suppose que A et B sont associés aux IP fixes ClientA et ClientB. Je suppose que votre proxy Internet est ServerI (votre serveur Ubuntu?).
J'ajouterais donc une entrée de routage de refus / suppression de ClientA à ServerI.
Je n'utilise pas Ubuntu - je ne peux donc pas vous dire quel fichier de configuration utiliser pour rendre ce paramètre permanent (survivre à un redémarrage).
Peut-être que quelqu'un peut ajouter ce détail?
la source