Docker 安全与网络配置深度解析
容器权限与安全
在 Docker 中,使用 -v 开关可以将主机路径挂载到容器中,例如挂载 /etc 路径。但这是有风险的,因为在容器中我们作为 root 用户,拥有该路径的文件权限,甚至可以查看真实的 /etc/shadow 文件。这表明默认情况下,容器的限制是部分的。
需要注意的是,以 UID 0 运行容器进程是不可取的。因为一旦进程逃脱其命名空间,主机系统将暴露给具有完全特权的进程。所以,通常应使用非特权 UID 运行标准容器。
特权容器
有时,容器需要一些特殊的内核功能,如挂载 USB 驱动器、修改网络配置或创建新的 Unix 设备。以下是尝试更改容器 MAC 地址的示例:
$ docker run --rm -ti ubuntu /bin/bash
root@b328e3449da8:/# ip link ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state…
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
9: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state…
link/ether 02:42:0a:00:00:04 brd ff:ff:ff:ff:ff:ff
root@b3
超级会员免费看
订阅专栏 解锁全文
648

被折叠的 条评论
为什么被折叠?



