小编nyi*_*nyi的帖子

如何将文件添加到没有root权限的docker容器?

我正在尝试将文件添加到从官方tomcat镜像构建的 Docker镜像中。该图像似乎没有 root 权限,因为tomcat如果我运行 bash ,我以用户身份登录:

docker run -it tomcat /bin/bash
tomcat@06359f7cc4db:/usr/local/tomcat$ 
Run Code Online (Sandbox Code Playgroud)

如果我指示 aDockerfile将文件复制到该容器,则该文件具有权限644并且所有者为root. 据我了解,这似乎是合理的,因为 Dockerfile 中的所有命令都以 root 身份运行。但是,如果我尝试将该文件的所有权更改为 ,则会tomcat:tomcat出现Operation not permitted错误。

为什么我不能更改复制到该图像的文件的权限?

如何复制:

mkdir docker-addfilepermission
cd docker-addfilepermission
touch test.txt
echo 'FROM tomcat
COPY test.txt /usr/local/tomcat/webapps/
RUN chown tomcat:tomcat /usr/local/tomcat/webapps/test.txt' > Dockerfile

docker build .
Run Code Online (Sandbox Code Playgroud)

的输出docker build .

Sending build context to Docker daemon 3.072 kB
Sending build context to Docker daemon 
Step 0 …
Run Code Online (Sandbox Code Playgroud)

containers file-permissions docker

19
推荐指数
2
解决办法
5万
查看次数

有人可以通过 ansible 安装获得 root 权限吗?

我的托管服务提供商的一位 UNIX 工程师告诉我,在服务器上安装 Ansible 是有问题的,因为可以从中获得root特权。

编辑旁注:Ansible 实际上安装在服务器上,用于配置同一台服务器并将应用程序部署到localhost. 这是一个非常特殊的情况,因为也没有能够安装 Ansible 的跳转主机。

我不明白这怎么可能。据我了解,Ansible 能够使用它正在运行的用户的权限。如果该用户具有root权限,Ansible 也可以使用这些权限(例如 using become)。但如果没有,就没有办法提升权限。

这与 Docker 不同(不确定它是否仍然正确)。能够运行 Docker 容器就等于拥有特权访问权限。

索赔是Ansible == root真的吗?有谁知道任何声称它或相反的消息来源?

root ansible

0
推荐指数
1
解决办法
317
查看次数

标签 统计

ansible ×1

containers ×1

docker ×1

file-permissions ×1

root ×1