chroot()是否需要root权限?

时间:2013-04-13 07:14:24

标签: c linux root chroot

一切都在问题中。当我尝试使用带有“。”的chroot时。或完整的路径名作为参数,perror告诉我“不允许操作”。 如果我的问题的答案是肯定的,是否有另一种方法来更改根目录? (没有使用strcmp()/ strncmp()的野蛮方法

谢谢!

4 个答案:

答案 0 :(得分:6)

chroot只能由root他/她/本人使用。不,不会在没有妥协安全的情况下采取任何其他方式。

来自维基百科

只有root用户才能执行chroot。这是为了防止用户将setuid程序放入特制的chroot jail中(例如,使用假的/ etc / passwd和/ etc / shadow文件),这会使其陷入权限提升。

有关该文章,请参阅here

答案 1 :(得分:3)

尝试使用名为 PRoot 的工具 - http://proot.me/ 它基于ptrace和syscall检测,其中一个可能的用例是实现像chroot这样的东西。

答案 2 :(得分:3)

您可以尝试fakechroot chroot

答案 3 :(得分: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
相关问题