1. Создаем группу
noinet
sudo groupadd noinet
2. Добавим текущего пользователя в группу noinet
sudo gpasswd -a `id -un` noinet
3. Напишем скрипт iptables, который будут стартовать вместе с ОС
Вводим
sudo nano /etc/network/if-pre-up.d/noinet_rule
и вставляем туда
#!/bin/bash
iptables -A OUTPUT -d 10.0.0.0/8 -m owner --gid-owner noinet -j ACCEPT
iptables -A OUTPUT -d 172.16.0.0/12 -m owner --gid-owner noinet -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/16 -m owner --gid-owner noinet -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner noinet -j DROP
Сделаем скрипт исполняемым
sudo chmod +x /etc/network/if-pre-up.d/noinet_rule
4. Создаем скрипт который будет запускать наши приложения с привилегиями этой группы
sudo nano /usr/local/bin/noinet
и вставляем туда
#!/bin/bash
sg noinet "$*"
Сделаем скрипт исполняемым
sudo chmod +x /usr/local/bin/noinet
5. Чтобы не перезагружать ОС, выполним скрипт iptables
sudo /etc/network/if-pre-up.d/noinet_rule
На этом всё! Теперь любое приложение можно запускать от имени группы noinet и оно не сможет использовать интернет. Например:
noinet firefox
Меняем группу папки и вложенных файлов. Например: chgrp -R noinet Soft
Ключ -R рекурсивно поменяет группу для всех вложенных папок и файлов
noinet - группа
Soft - ваша папка с программами