linux - chroot 进程 jail ,每次运行时将任意目录设置为 root

标签 linux process chroot jail

我正在尝试运行一个命令,该命令需要限制在一个目录中,并在 Web 应用程序的 shell 函数中执行。

我的目标是运行该程序,但将其限制在一个目录中。每次我想运行程序时,这个目录都会改变,并且多个实例需要能够同时在不同的目录上运行。

我查看了 chroot,似乎每次都需要显式创建文件系统。我正在寻找一种更临时的解决方案,它接受所需的根目录,并且不需要我将文件复制到各处或进行奇怪的安装。

最佳答案

您最可能想要的是 containers .

容器需要几毫秒的时间来启动,并且每次运行时都会创建一个基本上完整的 chroot jail 。像 docker run --rm --volume /var/chroot/jail/whatever:/workdir ubuntu stat /workdir 这样的命令将运行stat在 chroot jail 目录中,所有环境都是最新的 Ubuntu 版本。然后它将废弃 chroot jail 。再次运行它将创建一个全新的 jail 。

您需要将您的 Web 应用程序构建为您需要的任何 jail (Ubuntu、CentOS 等)之上的 docker 镜像,这意味着调整您的构建系统来创建这样的镜像。

关于linux - chroot 进程 jail ,每次运行时将任意目录设置为 root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58784847/

相关文章:

c++ - 为什么我们在创建子进程时要使用wait?

c++ - 使用 gdb 调试 chroot 程序

linux - qemu-static 和 chroot 的 GUI

java - 从技术上讲,什么是数据库连接?

c# - 如何在 .NET (C#) 中终止特定用户的进程?

ssh - chroot访问www文件夹

c++ - linux 上的 clangd 找不到默认 header

linux - 顶部 'xterm' : unknown terminal type

linux - 昨天的scp文件

linux - 'find . -ls' 的输出格式是什么?