我想在容器中运行unshare -r -n <prog>
。
运行“ unshare -h”有效(因此可以访问),但是“ unshare ls”给出“不允许的操作”(无论是否使用“ -r -n”选项)。
全文:
该容器运行一个Web服务器(使用Flask),该服务器运行一个子进程外壳。此Shell尝试通过运行将可执行文件沙盒化
timeout 10 unshare -r -n sandboxed_app arg1 arg2
在一个相关的问题(Docker : How to avoid Operation not permitted in Docker Container?)中,建议的答案是给出--privileged
标志,但是在这里不适用,因为我想限制该容器中的用户权限(即,使用--user运行)没有人)
$ docker run -it python:3.6-stretch /bin/bash
root@df7e28742ac5:/# unshare -h
Usage:
unshare [options] <program> [<argument>...]
<snip>
root@df7e28742ac5:/# unshare ls
unshare: unshare failed: Operation not permitted