Řešení 1:
Řešení pro mě bylo přímočaré.
- Vytvořte a ověřte novou skupinu; přidat požadované uživatele do této skupiny:
- Vytvořit:
groupadd no-internet
- Ověřit:
grep no-internet /etc/group
- Přidat uživatele:
useradd -g no-internet username
Poznámka:Pokud upravujete již existujícího uživatele, měli byste spustit:usermod -a -G no-internet userName
zkontrolujte pomocí:sudo groups userName
- Vytvořit:
- Vytvořte skript ve vaší cestě a udělejte jej spustitelným:
- Vytvořit:
nano /home/username/.local/bin/no-internet
- Spustitelný soubor:
chmod 755 /home/username/.local/bin/no-internet
- Obsah:
#!/bin/bash
sg no-internet "[email protected]"
- Vytvořit:
- Přidejte pravidlo iptables pro vyřazení síťové aktivity pro skupinu bez internetu :
iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
Poznámka:Nezapomeňte provést změny trvalé, aby se po restartu automaticky uplatnily. To závisí na vaší distribuci Linuxu.
4. Zkontrolujte to, například ve Firefoxu spuštěním:
no-internet "firefox"
V případě, že byste chtěli udělat výjimku a povolit programu přístup k lokální síti :
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
iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP
POZNÁMKA: V případě spawnování budou pravidla zachována. Pokud například spustíte program s bez internetu pravidlo a tento program otevře okno prohlížeče, přesto budou pravidla použita.
Řešení 2:
Přímější možnost:použijte firejail . Spouští aplikaci uvnitř sandboxu. V karanténě můžete ovládat přístup aplikace k jakékoli síti nebo složce ve vašem počítači.
Chcete-li spustit určitou aplikaci bez přístupu k síti, postupujte takto:
firejail --net=none <application>
V tom případě "Sandbox vypadá jako počítač bez síťových rozhraní." (Viz část Síť v dokumentaci)
Například firejail --net=none firefox
spustí firefox bez připojení k síti.
Instalace
Viz instalační dokumentace. Měli byste instalovat ze systému balíčků ve vaší distribuci, nebo si raději získejte nejnovější verzi LTS. (Například tato nejnovější verze LTS, 9.56.2
, funguje také v Ubuntu 16.04.)