Tag: 用户权限

docker运行 – 用户组不按预期工作?

我有一个通过串口( /dev/ttyUSB0 )进行通信的脚本。 我想从Docker镜像中运行它。 不过,我似乎没有权限从图像中做到这一点。 我遵循这些步骤: 在我的主机上,如果我运行ln -l /dev/ttyUSB0我得到: crw-rw—- 1 root dialout 188, 0 jul 2 14:34 /dev/ttyUSB0 好,这意味着为了读/写,我需要是root ,或dialout组的一部分。 我在我的主持人成为这个组的成员: $ sudo usermod -aG dialout $(whoami) 然后我注销并重新login以使其生效。 之后,我validation了我可以与我的主机上的/dev/ttyUSB0完美通信。 但是,如果我运行泊坞窗图像: docker run –user=1000:1000 –rm=true –tty=true –privileged=true –device=/dev/ttyUSB0 –volume=<my_dir>:<my_dir> –workdir=<my_dir> <my_docker_image> <my_script> 然后它抱怨说: can't open device "/dev/ttyUSB0": Permission denied 但是,如果我使用:– –user=1000:20 ,那么它工作正常。 组20是dialout组。 现在我的问题: 为什么Docker不知道我的用户(1000)和组(1000)是dialout组的一部分? […]

几个小时后,Docker容器中的文件权限发生了变化

虽然类似这个问题 ,但我的问题有点不同。 我有容器,由ECS代理在AWS Ubuntu实例上启动。 容器首次启动时,它们对Dockerfile创build的app用户拥有正确的所有权。 一段时间后,这些文件都具有root:root权限root:root权限,这使得应用程序无法使用。 我已经在这里发布了关于ECS代理的信息,但是我也想知道这是否是一个docker问题? 有没有办法,我可以得到何时/如何更改文件权限的历史logging? 任何想法如何进一步debugging?

Docker容器中的用户和文件权限configuration(docker-compose版本3)

Docker 声明它的容器是 “…默认情况下是非常安全的;特别是如果你照顾在容器内运行你的进程作为非特权用户(即非root)” 因此,我试图: 使用适当处理用户执行的官方图像 避免在生产中安装主机卷,并使用COPY 当我将代码和configuration文件复制到容器卷中时,所有目录和文件都将创build为“… UID和GID为0”(根拥有者),如文档中所述。 问题:如果文件和目录由root拥有,但是运行的进程是由非root用户拥有,如www-data ,那么是否仍然存在安全风险? 例如,用php-fpm : root@7bf71145c18c:/var/www/html# ls -l total 1220 -rw-rw-r– 1 root root 5931 May 10 12:28 index.php drwxrwxr-x 3 root root 4096 May 10 12:28 logs -rw-rw-r– 1 root root 28 May 10 12:28 robots.txt root@7bf71145c18c:/var/www/html# ps -ef UID PID PPID C STIME TTY TIME CMD […]

Root用户在Composer容器内

在Docker容器中运行Composer运行时遇到一个基本问题。 可以在容器内以root用户身份运行composer吗? 我很困惑,创build的文件的所有者(例如,当使用composer require )是root 。 在容器内以root身份运行确定最佳实践?

docker工人,是否可以保护我的源代码并添加权限?

我有兴趣使用Docker来主持一个项目,我正在帮助开发工作。 不过,我有几个关于它的适用性的问题。 首先,我想知道是否有可能将源代码隐藏在潜在的用户/客户之中? 很明显,Docker策略的一部分是代码是开放的,但是有什么方法可以添加权限来locking指定用户/开发人员以外的任何人? 其次,就我们正在开发的产品而言 – 某些用户可能希望仅访问产品的一个方面。 有什么办法可以给Dockerregistry添加权限,以便客户只能访问他们请求的内容?