A solução para mim era direta.
- Crie, valide novo grupo ; adicionar usuários necessários a este grupo:
- Criar:
groupadd no-internet
- Validar:
grep no-internet /etc/group
- Adicionar usuário:
useradd -g no-internet username
Observação: Se você estiver modificando um usuário já existente, deverá executar:usermod -a -G no-internet userName
verifique com:sudo groups userName
- Criar:
- Crie um script em seu caminho e torne-o executável:
- Criar:
nano /home/username/.local/bin/no-internet
- Executável:
chmod 755 /home/username/.local/bin/no-internet
- Conteúdo:
#!/bin/bash
%código%
- Criar:
- Adicione regra iptables para eliminar a atividade de rede do grupo no-internet :
-
sg no-internet "$@"
Observação: não se esqueça de tornar as alterações permanentes, então seria aplicado automaticamente após a reinicialização . Fazê-lo depende da sua distribuição Linux.
-
4. Verifique, por exemplo, no Firefox executando:
-
iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
Caso você queira fazer uma exceção e permitir que um programa acesse rede local :
-
no-internet "firefox"
-
iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
-
iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT
NOTA: Em caso de desova, as regras serão mantidas. Por exemplo, se você executar um programa com a regra não-internet e esse programa abrir a janela do navegador, ainda assim as regras serão aplicadas.