我正在使用启用了用户 ID 映射(用户名)的dockeron 。ubuntu 16.04我有以下设置:
/etc/passwd \n\nmyusername:x:1000:1000:,,,:/home/myusername:/bin/bash\n
/etc/subuid \n\nmyusername:100000:65536\n
/etc/subguid \n\nmyusername:100000:65536\n
当我启动容器时,文件会从 0(根)正确映射到我的 subuid 100000。
\n\n主机\n\n-rw-r--r-- 1 100000 100000 0 M\xc3\xa4r 30 13:05 testfile\n
容器\n\nrw-r--r-- 1 root root 0 Mar 30 13:05 testfile\n
我可以读取主机上的文件,但无法编辑它。我的假设是这100000是“我的”subuid,所以我可以编辑这些文件。如何实现myusername无需 sudo 即可访问这些文件?
我不确定如何使用用户命名空间映射来解决此问题,但您可以使用 ACL 来解决它。
如果您不介意将一些 UID 信息泄漏到容器中,则可以向主机用户的目录添加 ACL。ACL 位于标准 POSIX 权限之上。
要在父目录上设置默认 ACL,新条目将继承:
setfacl -d -m u:1000:rwx volume_dir/
Run Code Online (Sandbox Code Playgroud)
要对目录中的所有现有文件和目录设置 ACL:
setfacl -R -m u:1000:rwX volume_dir/
Run Code Online (Sandbox Code Playgroud)
自动X检测目录并将其设置为可执行文件,但会跳过使文件可执行。不幸的是,这种类型的区分在默认 ACL 上不可用。
| 归档时间: |
|
| 查看次数: |
550 次 |
| 最近记录: |