栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

了解Docker中的用户文件所有权:如何避免更改链接卷的权限

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

了解Docker中的用户文件所有权:如何避免更改链接卷的权限

那是对的吗?有人可以指出我的相关文档吗,我只是基于上述实验进行猜测。

也许这仅仅是因为它们在内核上具有相同的数值,如果我在我的家庭用户的ID不是1000的系统上进行测试,那么在每种情况下权限都会改变吗?

阅读

info coreutils 'chown invocation'
,可能会使您更好地了解文件权限/所有权的工作方式。

但是,基本上,计算机上的每个文件都有一组附加的位,以定义其权限和所有权。当您

chown
创建文件时,只需设置这些位。

chown
使用用户名或组名将文件发送给特定的用户/组时,
chown
将查找
/etc/passwd
用户名和
/etc/group
组,以尝试将名称映射到ID。如果这些文件中不存在用户名/组名,
chown
则将失败。

root@dc3070f25a13:/test# touch testroot@dc3070f25a13:/test# lltotal 8drwxr-xr-x  2 root root 4096 Oct 22 18:15 ./drwxr-xr-x 22 root root 4096 Oct 22 18:15 ../-rw-r--r--  1 root root    0 Oct 22 18:15 testroot@dc3070f25a13:/test# chown test:test testchown: invalid user: 'test:test'

但是,

chown
无论您的计算机上是否存在使用这些ID的用户/组,都可以使用ID来实现所需的文件(当然,在某个正整数上限内)。

root@dc3070f25a13:/test# chown 5000:5000 testroot@dc3070f25a13:/test# lltotal 8drwxr-xr-x  2 root root 4096 Oct 22 18:15 ./drwxr-xr-x 22 root root 4096 Oct 22 18:15 ../-rw-r--r--  1 5000 5000    0 Oct 22 18:15 test

UID和GID位是在文件本身上设置的,因此,当您将这些文件安装在Docker容器内时,该文件具有与主机上相同的所有者/组UID,但现在已映射到

/etc/passwd
容器中,即除非它由root(UID
0)拥有,否则可能会是其他用户。

真正的问题当然是“我该怎么办?”
如果bob在给定的主机上以bob身份登录,则他应该能够以bob身份运行容器,并且在其主机帐户下没有更改文件权限。就目前而言,他实际上需要以用户docker的身份运行该容器,以避免更改其帐户。

看起来,在当前设置下,如果您要与安装的用户目录以同一用户身份进行交互,则需要确保

/etc/passwd
主机上的UID>用户名与容器中的UID>用户名匹配
/etc/passwd
在主机上登录。

您可以使用创建具有特定用户ID的用户

useradd -u xxxx
。Buuuut,这似乎是一个混乱的解决方案…

您可能需要提出一种不装载主机用户主目录的解决方案。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408689.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号