9

一切都在问题之中。当我尝试将 chroot 与“.”一起使用时 或完整的路径名作为参数,perror 告诉我“不允许操作”。如果我的问题的答案是肯定的,还有其他方法可以更改根目录吗?(没有使用 strcmp() / strncmp() 的野蛮方法)

谢谢 !

4

4 回答 4

9

chroot只能由root他/她/自己使用。不,不会有任何其他方式不影响安全性。

来自维基百科

只有 root 用户可以执行 chroot。这是为了防止用户将 setuid 程序放入特制的 chroot 监狱(例如,使用伪造的 /etc/passwd 和 /etc/shadow 文件),从而欺骗它进行权限提升。

看到这里的文章。

于 2013-04-13T07:17:19.627 回答
4

尝试一个名为PRoot的工具 ,它基于 ptrace 和 syscall 检测,其中一个可能的用例是实现类似 chroot 的东西。

于 2014-02-18T16:29:56.507 回答
4

你可以试试fakechroot chroot

于 2016-08-11T11:54:33.037 回答
0

从用户空间,您可以使用 schroot 命令。在 /etc/schroot/schroot.conf 中添加几行

[xenial]
description=Ubuntu 16.04 (xenial)
type=directory
directory=/srv/chroots/xenial
aliases=xenial-lts
profile=minimal
users=bob
personality=linux64

然后从您的用户帐户:

schroot -c xenial
于 2018-10-01T19:56:54.877 回答