问题标签 [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.
linux - 如何为 Linux 创建交叉编译 sysroot?
--host=x86_64-apple-darwin10
我正在尝试使用and构建一个 GCC 交叉编译器--target=ppc64-linux
。
我的目标需要一个 sysroot。我可以使用的是一个 .iso,它旨在引导和设置该目标。上面有一大堆 rpm。
我想知道 Linux 大师的咒语,它将成功地将正确的 rpm 解压到 OS X 上的一个空目录中,并使其成为 sysroot。
c - 如何在 C 编程中使用 chroot 函数?
我知道在linux中使用命令“chroot”需要一些文件或目录,例如usr
,bin
等等。但是当我chroot()
在 C 中使用该函数时,我需要这些文件吗?
这是我的代码,其中“hw.out”是一个二进制文件,只打印“Hello, world”。我编译它并以root身份运行它,但它无法打印“Hello,world”。我还应该做什么?谢谢!
ssh - 在 chrooted SSH 上连接成功后,用户会立即断开连接
我按照本教程在 SSH 中使用 Chroot 配置了一个监狱。
我在 StackOverflow 上发现了另一个处理相同问题的问题,但是答案对我也不起作用。
该auth.log
文件包含以下内容:
我的sshd_config
文件包含以下内容:
我的/home/thenewone
目录由root:root
chrooted 系统拥有并包含(所有文件,但/home/thenewone/home/thenewone
由 拥有root:root
)
我不明白为什么连接成功然后关闭。
ubuntu - 如何调试 ld.so 正在搜索的位置
我的进程使用 chroot 来监禁自己。但是,我很难让随后加载的库(例如导入 python 扩展模块)正确地动态链接到现在被监禁的进程。部分困难在于对 ld.so 的情况没有太多了解。我不确定它在哪里搜索,也不确定 RPATH 和 LD_LIBRARY_PATH 之类的东西是相对于 chroot 监狱内部还是外部。
有没有办法在“详细”模式下运行 ld.so,它记录正在搜索的路径以及在哪里找到请求的库?
ruby - 如何退出chroot
我可以用 chrootDir.chroot
但是我怎样才能从 chroot 返回呢?
apache - 用 php5-fpm 解决 chroot 问题
我正在使用 Apache(由于客户的原因,无法切换到 nginx 或 lighttpd),和其他许多人一样,我对以下变量有问题:
由于 chroot,apache 的 mod_fastcgi 传递给 php5-fpm 的变量被搞砸了,因此与正确的不匹配。
让我给你看一个例子:
代替:
所以,这似乎很容易做到,因为我只需要从这些变量中删除“/home/vhosts/hXXXX”。
我曾想过在 php.ini 中使用 auto_prepend_file 指令并添加如下内容:
这将允许设置正确的变量,但是我有两个问题:
- 我无法添加任何文件,因为 php 根本不起作用(“没有输入文件。”),因为它在错误的目录中查找脚本
- 在虚拟主机中设置别名似乎不起作用,因为 chroot 环境发生在 /home/vhosts/hXXXX 上,并且各种域 docroot 位于 /home/vhosts/hXXXX/home/domains/domain.tld/;即使使用别名,Apache 仍然会给出错误的路径。
我见过很多人用 nginx 处理它,解决问题(允许编辑 SCRIPT_FILENAME 和 DOCUMENT_ROOT,Apache 不允许),以及其他人解决问题,在 chroot 中符号链接适当的目录树以解决问题. 最后一个解决方案真的很糟糕。
另一种方法是使用这个补丁,但即使尝试它,似乎也出了点问题:尝试用apxs2 -cia mod_fastcgi.c编译它,抛出一个关于undefined symbol: fcgi_config_new_static_server的错误,我不知道如何解决这个问题(编译静态?如何用 apxs2 来做?)
关于它的最佳解决方案似乎是手动修补 PHP,但我不确定这是否是最干净的事情......!
c - chroot和chdir后,对应的execv失败,返回EACCESS给父进程
我正在尝试用 C 沙箱化一个实用程序。我按照以下步骤操作:
file,directory, sharpoint
在文件夹下为该实用程序创建沙箱资源/sandbox/myutil
。- 来自“c”代码,称为
chdir("/sandbox/myutil")
,chroot("/")
。 - 确保实用程序可执行文件在 下可用
/sandbox/myutil/bin/util.bin
,并且所有依赖文件在 下可用/sandbox/myutil
。 - 调用实用
bin/util.bin
程序execve("/bin/util.bin",arg, env);
然而,/bin/util.bin
没有按预期执行,进程接收到信号 18 并返回代码 13“EACCESS”。
但是,如果我使用从 shell 执行的命令而不是从 c 代码调用 , 则它可以正常工作chroot()
。chdir()
execve()
chroot /sandbox/myutil /bin/util.bin
我正在使用内核 2.6.17。
c - 如何在 chroot 监狱中执行 shell 命令
我在 chroot 监狱中执行 shell 命令时遇到问题。这是一个例子:
问题是exec:根据errno,错误是“没有这样的文件或目录”。如果我使用 exec("/bin/ls", ...)
我认为“ls”不能使用他需要的共享库,因为 chroot jail。
有什么建议可以解决这个问题吗?
solaris - 如何在 illumos/solaris 上检测 chroot?
正在运行的 C 程序如何检测它是否在 illumos/solaris 上的“chroot”中运行?
有一个 Debian 实用程序 [1] 在 linux、freebsd、hurd 上使用了一些技巧。
如何在 illumos/solaris 上做到这一点?