通常情况下,Docker 容器内部默认用户是 root(uid=0),容器内的进程拥有完整权限。
当将宿主机目录挂载到容器内部时,在该目录下创建的文件会继承容器内部当前用户的 uid 和 gid,文件的权限标记会在容器内外保持一致。这种“权限直通”可能带来安全隐患。
如果在容器内创建一个带有 SUID 位的可执行文件,并将其放在挂载目录中,则宿主机上的用户可能通过执行该文件获得提升的权限(如 root 权限)。
example: 在容器内部复制一份 bash 到挂载目录,并设置 SUID 位。随后在宿主机上执行bash -p,即可获得root权限。

可采取的安全措施包括但不限于:在挂载目录所在分区设置nosuid,配置容器的user namespace映射,以防止容器创建宿主机所有者为 root 的文件。
