有没有办法阻止具有dockerfile/docker compose的用户在容器中使用root?
有没有办法阻止dockerfile和docker compose用户在docker容器中使用root?当然,问题是安全和最低特权,我想看看是否有人解决了这个问题。感谢您的反馈。Docker run在这里会很有帮助。运行容器时,可以指定容器进程将由属于xyz组的xyz用户运行(可选) --用户,-u用户名或UID(格式:name | UID[:group | gid])有没有办法阻止具有dockerfile/docker compose的用户在容器中使用root?,docker,dockerfile,root,superuser,Docker,Dockerfile,Root,Superuser,有没有办法阻止dockerfile和docker compose用户在docker容器中使用root?当然,问题是安全和最低特权,我想看看是否有人解决了这个问题。感谢您的反馈。Docker run在这里会很有帮助。运行容器时,可以指定容器进程将由属于xyz组的xyz用户运行(可选) --用户,-u用户名或UID(格式:name | UID[:group | gid]) docker容器运行--rm\ --用户:\\以给定用户身份运行 我的回购/我的形象:最新 Docker run在这里很有帮助。
docker容器运行--rm\
--用户:\\以给定用户身份运行
我的回购/我的形象:最新
Docker run在这里很有帮助。运行容器时,可以指定容器进程将由属于xyz组的xyz用户运行(可选)
--用户,-u用户名或UID(格式:name | UID[:group | gid])
docker容器运行--rm\
--用户:\\以给定用户身份运行
我的回购/我的形象:最新
正如您可以看到的那样,您可以使用--user
/-u
在$docker run命令中指定用户(可选使用组):
$ docker --version
Docker version 19.03.4, build 9013bf583a
$ docker run --help
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
Options:
...
...
...
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
--userns string User namespace to use
--uts string UTS namespace to use
-v, --volume list Bind mount a volume
--volume-driver string Optional volume driver for the container
--volumes-from list Mount volumes from the specified container(s)
-w, --workdir string Working directory inside the container
正如您可以看到的,您可以使用--user
/-u
在$docker run命令中指定一个用户(可选使用组):
$ docker --version
Docker version 19.03.4, build 9013bf583a
$ docker run --help
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
Options:
...
...
...
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
--userns string User namespace to use
--uts string UTS namespace to use
-v, --volume list Bind mount a volume
--volume-driver string Optional volume driver for the container
--volumes-from list Mount volumes from the specified container(s)
-w, --workdir string Working directory inside the container
TL;DR:不,任何能够docker运行任何东西的人都可以在您的容器中或在host.TL上获得根shell;DR:不,任何能够docker运行
任何东西的人都可以在您的容器中或主机上获得根shell(也可以-u0
显式请求根,即使映像指定了不同的内容。)是的,这是正确的。(同时-u0
显式请求root,即使映像指定了不同的内容。)是的,没错。
$ docker run --rm -it -u 65555 busybox id
uid=65555 gid=0(root)
$ docker run --rm -it -u 65555:65555 busybox id
uid=65555 gid=65555