繁体   English   中英

如何使用Linux下属于子用户命名空间的文件?

[英]How to work with files which belong to the subuser namespace under Linux?

我使用dockerubuntu 16.04与用户ID映射(用户namepsaces)启用。 我有以下设置:

/ etc / passwd myusername:x:1000:1000:,,,:/home/myusername:/bin/bash

/ etc / subuid myusername:100000:65536

/ etc / subguid myusername:100000:65536

当我启动容器时,文件正在从0(根)正确映射到我的subuid 100000。

主机 -rw-r--r-- 1 100000 100000 0 Mär 30 13:05 testfile

容器 rw-r--r-- 1 root root 0 Mar 30 13:05 testfile

我可以在主机上读取文件,但我无法编辑它。 我的假设是100000是“我的”subuid,所以我可以编辑这些文件。 如何在不使用sudo的情况下通过myusername访问这些文件?

我不确定如何使用用户名称空间映射来解决这个问题,但您可以使用ACL来解决它。

如果您不介意将某些UID信息泄漏到容器中,则可以将ACL添加到主机用户的目录中。 ACL位于标准POSIX权限之上。

要在父目录上设置默认ACL,新条目将继承:

setfacl -d -m u:1000:rwx volume_dir/

要在目录中的所有现有文件和目录上设置ACL:

setfacl -R -m u:1000:rwX volume_dir/

X自动检测目录并将它们设置为可执行文件但跳过使文件可执行。 不幸的是,这种区分在默认ACL上不可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM