O utilitário iptables permite que as regras correspondam com base no uid ou gid do processo com o seguinte:
sudo iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT
Eu também quero adicionar uma regra para permitir que todos os membros de um grupo chamado "netaccess" usem o tráfego de saída. Eu tentei o seguinte:
sudo groupadd -r netaccess # This created the group with gid 999
sudo usermod -aG netaccess <myUser>
sudo iptables -A OUTPUT -m owner --gid-owner netaccess -j ACCEPT
No entanto, meu tráfego de saída ainda está sendo bloqueado. Eu verifiquei que a regra do iptables foi criada acima da regra REJECT final, então esse não é o problema. Pelo contrário, parece que ao usar iptables -m owner
com a opção --gid-owner
, ele compara o gid exato do processo em vez de verificar se o gid está na lista de grupos suplementares do proprietário (conforme definido em / etc / group). Achei isso olhando para esta página (Ctrl + F para "proprietário"): link
Existe alguma maneira de usar o iptables para combinar regras com todos os membros de um grupo suplementar? Eu gostaria que algo como o seguinte funcionasse:
sudo iptables -A OUTPUT -m owner --gid-member netaccess -j ACCEPT
Eu estou rodando no Ubuntu 14.04 e tenho o iptables v1.4.21.