我想iptables
在 Ubuntu 16.04 Docker 容器中运行该命令。我创建了一个用户,给定用户 root 权限,将它们添加到sudo
组中,但我仍然被告知我没有iptables
以 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.
在我的/etc/sudoers
文件中,我有一行:%sudo ALL=(ALL:ALL) ALL
,我认为应该允许sudo
组中的任何用户(我是)运行任何命令,但我仍然收到权限被拒绝错误。
作为该用户,我将如何成功运行该iptables
命令?
请注意,我在带有图像的 Docker 容器中执行此操作:ubuntu:16.04
能力
如果您想
iptables
在您的容器中访问,您需要在--cap-add=NET_ADMIN
最初运行容器时通过开关启用特定功能。例子
然后在容器中设置
iptables
&sudo
:然后在容器内,设置一个用户,
user1
并将其添加到sudo
组中:然后将用户设置为
user1
:检查
user1'
s sudo 权限:检查他们是否可以
iptables
通过以下方式访问sudo
:参考