Nyc*_*cta 5 linux sandbox bwrap
当我绑定文件系统根时它可以工作
~> bwrap --ro-bind / / -- which which
/usr/bin/which
Run Code Online (Sandbox Code Playgroud)
但是当我绑定非 root 时它会失败
~> bwrap --ro-bind /usr /usr -- which which
bwrap: execvp which: No such file or directory
Run Code Online (Sandbox Code Playgroud)
尽管/usr/bin/which
是在/usr
.
为什么会失败?
您没有绑定该二进制文件 \xe2\x80\x93或类似文件的解释器。(内核本身并不真正理解动态链接的二进制文件,而是在 ELF 标头中指定一个加载器。它的工作方式与脚本的 #! 行非常相似。)/lib/ld-linux.so.2
/lib64/ld-linux-x86-64.so.2
即使在具有合并的 /usr 的系统上,该文件通常仍位于 /lib 中。(在没有合并 /usr 的系统上,许多其他所需的库(例如 libc.so)也位于 /lib 中。)
\n