Я предполагаю, что пользователи A и B используют ту же машину Linux, где вы являетесь администратором. (Из вашего вопроса не совсем ясно. Если у A и B есть свои компьютеры, на которых они являются администраторами, это совершенно другая проблема.)
Следующая команда не позволит пользователю с uid 1234 отправлять пакеты по интерфейсу eth0
:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Я рекомендую прочитать руководство по Ubuntu iptables, чтобы получить базовые знания об инструменте (и обратитесь к странице справочника для продвинутых вещей, таких как таблица mangle).
Пользователь по-прежнему сможет запускать ping (потому что это setuid root), но не что-нибудь еще. Пользователь по-прежнему сможет подключаться к локальному прокси, если этот прокси был запущен другим пользователем.
Чтобы удалить это правило, добавьте -D
команду выше.
Чтобы сделать правило постоянным, добавьте его в /etc/network/if-up.d/my-user-restrictions
(сделайте так, чтобы исполняемый скрипт начинался с #!/bin/sh
). Или используйте iptables-save
(см. Руководство по Ubuntu iptables для получения дополнительной информации).