dockerfile 创建的系统用户,其他普通用户无法进入该用户的家目录


在dockerfile里面使用 RUN useradd user1 创建user1 用户,并且将 user1的家目录权限设置为 777,另外一个普通用户user2 无法进入 user1 的家目录,提示权限不足。

如果是使用交互模式进入容器里面创建的用户,却没有这个问题。
已邀请:

tuxknight

赞同来自: CaiLei


没把问题说清楚,我就按我的理解做了个Dockerfile

<pre>
构建镜像
~/test » docker build -t del .
Sending build context to Docker daemon 2.048 kB
Step 0 : FROM ubuntu:14.04
---> 91e54dfb1179
创建user1并指定home 目录,权限改成777
创建user2
Step 1 : RUN useradd user1 -m -d /home/user1 && chmod 777 /home/user1 && useradd user2 -d /home/user2
---> Running in bbfa4d169537
---> d52a3ab1f2b0
Removing intermediate container bbfa4d169537
切换到user2
Step 2 : USER user2
---> Running in 137dda57faa2
---> e346c2ccd646
Removing intermediate container 137dda57faa2
工作目录切换到/home/user1
Step 3 : WORKDIR /home/user1
---> Running in fe6eeaf7faad
---> 68ca150d7a45
Removing intermediate container fe6eeaf7faad
whoami 返回user2表示当前用户是user2
Step 4 : RUN whoami && touch /home/user1/whoami
---> Running in 4cae08d92008
user2
---> 28f6edb09bb8
Removing intermediate container 4cae08d92008
Successfully built 28f6edb09bb8
docker run 启动容器,并查看/home/user1里的文件,可以看到user2在/home/user1中成功创建了文件
~/test » docker run --rm del ls /home/user1
user2
</pre>

要回复问题请先登录注册