假设有一个二进制应用程序总是将其数据写入/tmp
.
/tmp
为了这个二进制文件作为其他目录(例如home/tmp
),我怎么能欺骗/模拟?
假设我无法修改这个二进制文件来强制它使用不同的目录。
Hau*_*ing 11
您可以在一个chroot
环境中运行应用程序,即/
应用程序看到的不是真实的/
。您创建一个完整的新文件系统层次结构并将--bind
您需要的所有内容安装 ( ) 到其中。相关的问题是:你可以挂载真正的~/tmp
到/tmp
的chroot
环境。
chroot
您可以使用 Linux 容器 ( lxc
)来做或多或少相同的操作,而不是使用(这需要超级用户权限)。我不熟悉,lxc
但由于它是主机系统的正常用户进程,因此您无需成为容器内此类配置的超级用户。
大多数符合 POSIX 的软件都会遵守TMPDIR环境变量,例如
env TMPDIR=~/mytmp /path/to/application
Run Code Online (Sandbox Code Playgroud)