Отключить сеть для определенных пользователей

Я работаю над дистрибутивом Ubuntu / Mint, предназначенным для запуска Live. Существует несколько учетных записей, которые подразделяются на три основные группы: администратор, интернет и безопасность.

  • Администратор , очевидно, имеет право делать что угодно.
  • Интернет учетная запись предназначена для использования Интернета.

Другими учетными записями являются учетные записи безопасности . Ни при каких обстоятельствах не допускается сетевое подключение к Интернету, принтеру, Bluetooth, WiFi и т. Д.

Я хотел бы удалить сетевые драйверы из ядра, но это приведет к отключению учетных записей, которым требуется Интернет.

Каковы самые низкие способы отключения Интернета для этих учетных записей безопасности? Я ищу невозможно подключить решения.

14
задан 7 February 2012 в 02:32

2 ответа

Решение Бруно хорошо: я думаю, вероятно, лучшее автономное решение.

Другой вариант, о котором вы можете подумать, - это установить брандмауэр / прокси на отдельном компьютере в качестве шлюза к Интернету, который разрешает только те подключения, которые обеспечивают аутентификацию для каждого пользователя. Вы можете использовать оба вместе для дополнительной защиты.

0
ответ дан 7 February 2012 в 02:32

Вы можете сделать это с iptables.

В терминале добавьте правило к iptables

sudo iptables -A OUTPUT -p all -m owner --uid-owner username -j DROP

, где username - это пользователь, которому вы хотите отключить интернет-соединение. Сохраните файл и выйдите.

Это добавит правило к iptables, согласно которому любые исходящие пакеты, созданные указанным пользователем, будут автоматически отброшены на iptables.

Если вы хотите сделать то же самое для полной группы, я рекомендую вместо --uid username использовать --gid-owner groupname, что будет иметь тот же эффект для всей группы пользователей.

Таким образом, чтобы предотвратить доступ группы Security к Интернету, команда должна выглядеть примерно так

sudo iptables -A OUTPUT -p all -m owner --gid-owner security -j DROP

Чтобы сделать правило постоянным, вы можете создать скрипт в /etc/network/if-up.d/, добавьте необходимые строки и сделайте его исполняемым.


В качестве опции используйте iptables-save, чтобы сохранить текущие правила и восстановить их при загрузке.

Сохраните текущие iptables правила

sudo iptables-save > /etc/iptables_rules

Откройте /etc/rc.local в вашем любимом текстовом редакторе и в конце файла добавьте

/sbin/iptables-restore < /etc/iptables_rules

, который восстановит сохраненные правила для каждой загрузки.

Для получения дополнительной информации посетите страницу руководства [ iptables ] для получения дополнительной информации о нескольких опциях iptables.

0
ответ дан 7 February 2012 в 02:32

Другие вопросы по тегам:

Похожие вопросы: