问题标签 [chroot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1953 浏览

c++ - 将自己放入 chrooted 沙箱后如何(合法地)访问文件?

更改赋予用户有限文件访问权限的 Linux C++ 程序。因此,程序将自身chroot到一个沙箱,其中包含用户可以获取的文件。一切运作良好。

然而,现在程序需要访问一些文件以满足自己的需要(而不是用户的),但它们在沙箱之外。我知道 chroot 允许访问在 chroot之前打开的文件,但在这种情况下,所需的文件可能是数百个中的几个,因此只为可能需要的一对打开它们显然是不切实际的。

有什么办法可以获取文件吗?

0 投票
2 回答
1721 浏览

python - 如何chroot Django

可以在 chroot 中运行 Django 吗?值得注意的是,为了设置(例如)/var/www 作为 chroot'd 目录,然后让 Django 在该 chroot'd 目录中运行,需要什么?

谢谢 - 我很感激任何意见。

0 投票
1 回答
1542 浏览

linux - 在 chroot 中执行服务(openoffice headless)很慢

我创建了一个 ubuntu chroot 环境(使用 debootstrap)并将 openoffice 作为服务启动,以使用 unoconv 转换文件。它可以工作,但它花费大约 20 秒来进行转换,在 chroot 监狱外低于 1 秒。跟踪它,我可以看到这些额外的时间花在了一些超时过期的套接字操作上,这些操作在没有 chroot 环境的情况下也能正常工作。但是,类似的操作可以正常工作。

有什么建议吗?


启动服务器(chroot):

调用它(也被 chroot):

超时跟踪:

没有超时的类似跟踪(相同的 unoconv 操作):

chroot 详细信息:

  • 使用 dchroot 作为普通用户使用
  • 将 dev、proc 等安装为(fstab):

    /tmp /var/local/chrootest/tmp
    /dev /var/local/chrootest/dev
    /sys /var/local/chrootest/sys
    proc-chroot /var/local/chrootest/proc
    devpts-chroot /var/local/chrootest /dev/pts

0 投票
5 回答
1889 浏览

java - 在 Linux 上,人们是 chroot 一个 Java Web 应用程序还是使用 IPTables 并以非 root 身份运行?

当您运行想要在端口 80 上同时提供静态和动态内容的 Java Servlet 容器时,您会遇到一个经典问题,即是否将服务器运行为:

  1. 如果可以的话,希望成为一个 chroot 监狱的根(还没有得到这个工作)
  2. 作为非 root 用户,然后使用 IPTables 将端口 80 转发到容器正在运行的其他端口(>1024)
  3. 两者:作为非 root 用户,IPTables 和 chroot 监狱。

选择的问题。1是chrooting的复杂性,仍然是运行root的安全问题。opt的问题。2 是每个 Linux 发行版都有不同的 IPTables 持久化方式。选项 3 当然可能是想法,但很难设置。

最后,每个发行版在守护程序脚本中都有令人讨厌的差异。

人们认为最好的发行版不可知解决方案是什么,是否有资源可以展示如何做到这一点?

编辑:我宁愿不在 servlet 容器前运行 Apache,因为该站点主要是动态的,并且总内存占用很重要(托管成本)。

0 投票
3 回答
4479 浏览

linux - schroot:传递要执行的命令,就好像它在 shell 中一样

我想做类似的事情:

但我得到了错误:

换句话说,我希望能够在schroot环境中以编程方式执行 shell 命令。获得这种行为的正确方法是什么?

0 投票
3 回答
1681 浏览

linux - 在 chroot 环境中调用外部脚本

我使用 chroot 开发环境为设备开发软件。chroot 开发环境将我系统的其余部分与我的构建系统黑客行为隔离开来。chroot 环境是基于文本的,但我更喜欢使用图形文本编辑器。现在,我将一个终端 chroot 到 dev 环境来构建包,一个终端从外部指向 chroot 环境来编辑文件。

我厌倦了不断地在这些终端之间来回切换,但出于显而易见的原因,我不想在我的紧凑型开发环境中安装 X 和 Gnome。我需要一种将某些命令转发到外部环境的方法,但我想不出一个简单的解决方案。如何在 chroot 环境中在外部系统上执行命令?

0 投票
2 回答
224 浏览

linux - 用户相关文件内容

由于某些不幸的原因,我必须将专有和二进制库从每个工作站一个用户转换为每个工作站设置一个多用户。

当前设置。用户使用与库链接的程序。该库读取系统范围的配置文件(使用硬编码路径,即 /usr/local/thelib/main.conf ),该文件本身包含多个工作目录的多个路径。wdir 本身包含一堆用户数据文件。

想要的结果。能够在同一工作站上管理多个用户。当然,用户不能通过库读取或更改任何其他用户的数据,如果我设法为每个用户提供不同的工作目录,则应该由 unix 权限处理。

该库可能同时被多个用户使用,因此在运行时将配置文件输入 /usr/local 不是一种选择。

我正在考虑使用 FUSE 为文件 /usr/local/thelib/main.conf 提供不同的内容,具体取决于环境变量或当前的 unix 用户。然后,环境变量将用作生成配置文件的代码中的开关。

我很喜欢使用 Python、Perl 或 C。

该工作站正在运行最新的 GNU/Linux Debian 或 Ubuntu 发行版,并带有相当新的内核。

所以。你觉得怎么样 :

  • 你会用保险丝吗?
  • 你会生产另一种包装器吗?根据 janneb 建议使用 chroot(2)?
  • 使用Linux允许的其他东西?

我有点知道我能够生产出一些实用的东西,但我会得到社区的建议,因为我现在不想重新发明轮子。

谢谢。弗洛里安

0 投票
2 回答
2317 浏览

perl - Bash:传递 2 个字符串参数或更好地运行一系列命令的 Chroot 命令

我想做这样的事情:

这行得通吗?chrooted Perl 脚本会在这两个参数上传递吗?如果没有,该怎么做?

不然有什么办法可以简单chroot的在脚本里做,然后开始做命令比如

据我了解,只需按顺序写入它们bash只会在chroot完成后执行它们,并将控制权返回到我没有perl安装的位置(它是从 PXE 运行的 ramdisk)。

0 投票
0 回答
403 浏览

tar - 在 chroot 中安装 deb

我有(或很快会有)一个 puppet 脚本,它通过 apt-get 安装许多软件包。我需要它们可以从 chroot 内部访问。有没有简单的方法来设置它?

我的第一个想法是从 chroot 内部运行 apt-get ,但这看起来既混乱又是一个潜在的问题,因为我如何确定在完成后我已经完全删除了 apt-get?

附带说明:一旦我建立了监狱,我应该能够将其 tar 并移动它,对吗?


万一这很重要,我需要的东西包括gcc-multilib g++-multilib libc6-i386libc6-dev-i386

0 投票
2 回答
5826 浏览

linux - 为什么 chroot 不工作?

作为我真正问题的替代:有人知道一个简单的命令行工具来制作 chroot 监狱吗?我正在考虑将运行命令并将运行所需的所有内容复制到给定目录中的东西。我看到了一些工具的说明,但它有配置文件,似乎希望我从 X 启动它,而这些都不适合我的情况。


对于真正的问题:

我正在尝试建立一个 chroot 监狱,但它不起作用。这是我在 strace 命令时得到的:

似乎chroot找不到make,即使它应该在那里。有什么我想念的想法吗?

顺便说一句:这是在最近的 Ubuntu 盒子上。