Eu quero executar o iptables
comando em um contêiner Ubuntu 16.04 Docker. Eu criei um usuário, dadas as permissões de root desse usuário, adicionei-o ao sudo
grupo, mas ainda me dizem que não estou executando iptables
como root.
$ groups
stack root sudo
$ sudo whoami
root
$ sudo iptables --list
iptables v1.6.0: can't initialize iptables table `filter': Permission
denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
No meu /etc/sudoers
arquivo tenho a linha: %sudo ALL=(ALL:ALL) ALL
, que acredito que deveria permitir que qualquer usuário do sudo
grupo (que estou) execute qualquer comando, mas ainda recebo o erro de permissão negada.
Como eu executaria com sucesso o iptables
comando como esse usuário?
Observe que estou fazendo isso em um contêiner do Docker com imagem:ubuntu:16.04
Capacidades
Se você quiser ter
iptables
acesso em seus contêineres, precisará habilitar recursos específicos por meio do--cap-add=NET_ADMIN
switch ao executar o contêiner inicialmente.Exemplo
Em seguida, no contêiner, configure
iptables
&sudo
:Em seguida, dentro do contêiner, configure um usuário,
user1
e adicione-o aosudo
grupo:Em seguida, defina o usuário para
user1
:Verifique
user1'
as permissões do sudo:Verifique se eles podem acessar
iptables
viasudo
:Referências