Docker 容器用户管理与安全强化
1. 理解用户
在 Docker 中, -u 或 --user 标志功能强大。它的值可以接受任何用户或组对,也能接受用户和组的名称或 ID。例如:
docker run --rm \
-u nobody:default \
busybox:latest id
docker run --rm \
-u 10000:20000 \
busybox:latest id
第一个命令将运行用户设置为 nobody ,组设置为 default ,输出类似 uid=99(nobody) gid=1000(default) ;第二个命令将用户和组的 ID 分别设置为 10000 和 20000 ,输出 uid=10000 gid=20000 。
当使用 ID 而非名称时,若容器中不存在对应的用户和组,ID 虽无法解析为名称,但文件权限仍会正常工作。不过,改变运行用户可能会因容器内软件的配置而引发问题。
同时,要谨慎管理能控制 Docker 守护进程的用户,因为控制 Docker 守护进程的用户实际上可以控制主机的 root 账户。建议从可信源拉取镜像或自行构建镜像,避免恶意操作,如将默认非 root 用户变为 root 用户。
以下是一个示例: </
超级会员免费看
订阅专栏 解锁全文
5372

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



