根要求是以没有权限提升和容器应该运行非根用户的方式来强化 Docker
为此,我使用了用户重新映射功能。用户重新映射解决了上述两个问题,但它产生了另一个问题。
容器对挂载到的目录给出权限被拒绝错误,除非我们没有在主机上授予该目录的其他/世界(o+w)权限。
如果我授予世界权限,那么它会再次导致权限提升,因为主机上的任何其他用户都将拥有对所有容器目录的写访问权限。
subgid 和 subuid 文件包含以下几行:
dockremap:100000:65536
我需要解决方案来避免通过任何一种方式提升权限:
- dockremap 用户只能访问容器目录
- 另一种方法是避免特权升级并以非 root 用户身份运行容器。
PS:我正在使用光子操作系统。