首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将本地用户添加到码头容器中?

问如何将本地用户添加到码头容器中?
EN

Stack Overflow用户
提问于 2021-11-03 17:35:50
回答 1查看 544关注 0票数 0

我想知道如何将服务器的本地用户添加到码头容器中。我不需要导入他们的文件,我只需要为我的系统中的每个用户提供带有新主目录的用户名/密码/特权。例如,假设我的停靠容器包含以下用户:

东道系统:

管理员:谁有根访问权和rw访问权?

鲍勃:一个普通的非sudo用户。

乔:另一个普通的非sudo用户。

然后,Docker容器必须有用户:

管理员:谁有根访问权和rw访问权?

鲍勃:一个普通的非sudo用户。

乔:另一个普通的非sudo用户。

Docker容器和系统都在运行linux,尽管系统是红帽子,容器是ubuntu。

编辑:如果可能的话,我不想挂载/etc/ file,因为这会创建一个双向安全漏洞,正如@指出的那样

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-03 19:06:24

您必须使用-v挂载所有相关的linux文件,如/etc/passwd、/etc/shadow、/ect/group和/etc/sudoers。虽然由于安全风险,我不能推荐这样做,但是如果有人在容器中获得根访问,他们可以在主机上添加用户或更改密码,因为他挂载是双向工作的。

文件列表并不是详尽无遗的,例如,您还必须确保容器中存在shell精确性。例如,在测试时,我必须创建一个从/usr/bin/zsh到/bin/bash的符号链接,因为我的用户已经配置了zsh,这在docker映像中不存在。

如果要使用这些用户与已挂载的文件进行交互,还必须确保禁用用户名称空间重新映射,或者指定要使用与带有--userns=host标志的主机相同的用户名称空间。同样,由于它是一个安全特性,所以不推荐使用,所以要小心使用。

注意:一旦完成了所有这些操作,就可以使用su - {username}切换到所有现有用户。-u选项无法工作,因为docker在挂载之前检查了/etc/passwd文件,并会出现错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69829338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档