Je suppose que les utilisateurs A et B utilisent la ou les mêmes machines Linux 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'uid 1234 d'envoyer des paquets sur l'interface 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
Je recommande de lire le guide Ubuntu iptables pour se familiariser avec l'outil (et se référer à la page de manuel pour des choses avancées comme la table mangle).
L'utilisateur pourra toujours exécuter ping (car il s'agit de setuid root), mais rien d'autre. 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
(faites-en un script exécutable commençant par #!/bin/sh
). Ou utilisez iptables-save
(voir le guide Ubuntu iptables pour plus d'informations).