用 docker 隔离不同用户

2020-06-15 11:33:34 +08:00
 cnt2ex

服务器上多个用户,很多时候这些用户需要安装一些包,但我又不想直接给他们 root 权限,现在是打算给每个用户一个容器,然后容器里拥有 root 权限,让他们在容器里装自己需要的包。

有办法把用户限制在容器里,ssh 登录后直接进入自己的容器吗?

4562 次点击
所在节点    Linux
27 条回复
silentx
2020-06-16 15:30:22 +08:00
docker 直接 pull ubuntu 好了 先把 ssh start 起来 然后挂住

ip 用 docker 开 macvlan 每个 container 分配一个 ip 就好了

这样每个人都相当与有一台自己的 ubuntu 了 还都是 root
CodeCodeStudy
2020-06-16 16:59:44 +08:00
注意要限制资源的使用
--cpus
-m
--device-write-bps

我就碰到过没限制容器的 CPU 使用率,导致宿主机挂了的情况
tomychen
2020-06-17 13:18:07 +08:00
chroot
yanqiyu
2020-06-17 17:01:42 +08:00
建议使用 podman 之类的 rootless 容器,实现可以参考 Fedora 提供的 toolbox
特性
1 )全程用户没有特权
2 )在容器中表现为 root 权限,可以正常安装软件,配置开发环境
3 ) proc 、home 等分区会正常挂载,保证使用体验无缝,如果是带图形的话 dbus 以及 X socket 也会处理
--------
对于用户而言大家都不给 sudo,让他们使用 toolbox 进入自己的环境
--------
因为是 rootless 容器,哪怕被橄榄权限也不会超过用户本来的权限,不会对于系统造成破坏
wendellyih
2020-06-18 18:16:54 +08:00
@ETiV 这个方案可行,之前多个同事共享一台开发机时用的就是这个方案,现在都独立开发机了,就放飞自我了。
solider245
2020-06-22 12:32:39 +08:00
@CodeCodeStudy 容器内的系统再使用 docker 的话,是和新安装 docker 一样吗?
CodeCodeStudy
2020-06-22 17:28:54 +08:00
@solider245 没试过,应该装不了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/681633

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX