我正在为我的Docker项目争取特权(没有巨魔),因为我正在尝试在Docker上创建我的一个用户,能够读取/写入与主机共享的卷,而主机用户应该也可以使用此目录中的docker用户进行读/写。
就我而言,Docker用户和Host用户也不应该是root用户。这意味着,在共享卷上,运行docker的用户不应该能够访问卷中未访问的文件。但是,我发现以没有root权限的用户身份运行卷不会保存root文件
示例
例如,在以下情况中
用户目录包含两个文件,一个根目录为非root用户,用户名为user
且没有root权限,但他是Docker组的一部分:
C:/.../directory :
dwrx-rx--x root file1
dwrx-rx--x user file2
用户通过以下命令运行docker:
docker run -v /c/.../directory:/volume:rw -e USER_ID=$(id -u) -e GROUP_ID=$(id -g)
Docker的入口点是以下script.sh
:
#!/bin/bash
usermod -u ${USER_ID} dockeruser \;
groupmod -g ${GROUP_ID} dockeruser ;
chown dockeruser:dockeruser -R /volume ;
exit;
甚至在主机目录上更改了权限,即使对于我不应该写的根文件也是如此:
C:/.../directory :
dwrx-rx--x user file1
dwrx-rx--x user file2
非root的用户是否可以对不属于他的文件做任何事情?
我是一个初学者,所以,我不知道这是一个误导性的漏洞,因为我们强迫用户不是root用户还是sudo,但事实上它并没有改变任何东西,或者我刚刚得到它错了^^,所以请随时告诉我,这不是我应该处理它的方式。
此致 沃尔多