【发布时间】:2018-10-29 09:31:25
【问题描述】:
我正在运行 Linux 的 docker 映像并尝试实现以下目标:
- 运行泊坞窗
- 创建用户测试
- 阻止用户 test 访问互联网
1 和 2 工作,但我被困在 #3。
我尝试了什么?
- 运行
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 501 -j DROP。此命令失败并显示错误消息“getsockopt 异常失败:不允许操作”。我无法找到根本原因 - 更改 sudoer 文件并添加条目
test ALL=!/bin/ping。这是为了看看我是否能够阻止用户测试运行 ping 命令。但是,sudoer 文件中的此更改没有任何影响,并且用户 test 能够运行 ping 命令。假设这可行,我的意图是与 sudoer 一起玩以实现我的目标
有解决这个问题的建议或建议吗?
【问题讨论】:
-
您是否在
-priviledged模式下尝试了上述步骤?或尝试使用 root 用户iptables -A OUTPUT -m owner --uid-owner test -j REJECT -
尝试使用
docker exec --privileged <your-container's-name> iptables... -
你应该需要: docker run --cap-add NET_ADMIN my_container(使用iptables命令需要能力NET_ADMIN),因为docker需要主机的网卡,ps:确保你阅读启用此功能之前
标签: linux bash docker system amazon-linux