8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

与非 root 用户和 Docker 卷的权限相关的问题

askiiart.net 2月前

99 0

我正在使用 Docker 设置隔离的开发环境。因此,我配置了 dockerfile 来创建非 root 用户。(使用官方 Ubuntu 映像作为基础)我创建了一个用于文件管理的卷...

我正在使用 Docker 设置隔离的开发环境。因此我配置了 dockerfile 来创建非 root 用户。(使用官方 Ubuntu 镜像作为基础)

我创建了一个用于文件管理的卷,但是出现了权限问题。

为此审查了几种解决方案。:

  1. chmod 777 -R volume(这个方法比较笨,但是很有效)
  2. 与主机上的用户匹配相同的PID/GID(我认为这种方法很好用)

我想应用解决方案2,但问题如下。

  1. 主机上的用户是 1000:1000(UID:GID)。
  2. 来宾上的用户是 1001:1001(UID:GID)。
  3. 在客户机中,1000:1000 已被名为 \'ubuntu\' 的用户使用。

但是,为了使用 Docker 而修改外部环境似乎不太可取。因此,我决定不创建 1001:1001 的用户。

名为“ubuntu”的用户是一个已经创建的账户,如下所示。

$ docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:3f85b7caad41a95462cf5b787d8a04604c8262cdcdf9a472b8c52ef83375fe15
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest

What's Next?
  1. Sign in to your Docker account → docker login
  2. View a summary of image vulnerabilities and recommendations → docker scout quickview ubuntu

$ docker run --rm ubuntu cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash <-- ??

我想知道的是:

  1. 用户“ubuntu”存在的目的是什么?
  2. 我可以使用“ubuntu”或者用其他账户代替它吗?
  3. 如果 \'ubuntu\' 是用于特殊用途,我想创建一个 GID 来访问卷并使用 umask。如果有更好的解决方案,请分享。

我正在寻找一种灵活、通用且不受外部环境影响的方法来解决这个问题。

帖子版权声明 1、本帖标题:与非 root 用户和 Docker 卷的权限相关的问题
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由askiiart.net在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我有一个初始窗口,单击按钮后,应该创建一个新窗口,该新窗口不是第一个窗口的子窗口,并且出现在屏幕上第一个窗口所在的同一位置 loggetInWindow->move(this->x(), this->y());

返回
作者最近主题: