chroot()是否需要根权限?
一切都有问题。当我尝试使用chroot和“.”或完整的路径名作为参数时,perror告诉我“不允许操作”。 如果我的问题的答案是肯定的,是否有其他方法来更改根目录?(没有使用strcmp()/strncmp()的野蛮方法)chroot()是否需要根权限?,c,linux,root,chroot,C,Linux,Root,Chroot,一切都有问题。当我尝试使用chroot和“.”或完整的路径名作为参数时,perror告诉我“不允许操作”。 如果我的问题的答案是肯定的,是否有其他方法来更改根目录?(没有使用strcmp()/strncmp()的野蛮方法) 谢谢 chroot只能由root他/她/自己使用。不,在不影响安全的情况下,没有其他方法 来自维基百科 只有root用户才能执行chroot。这是为了防止用户将setuid程序放入精心编制的chroot jail(例如,带有假/etc/passwd和/etc/shadow文件
谢谢
chroot
只能由root
他/她/自己使用。不,在不影响安全的情况下,没有其他方法
来自维基百科
只有root用户才能执行chroot。这是为了防止用户将setuid程序放入精心编制的chroot jail(例如,带有假/etc/passwd和/etc/shadow文件)中,从而欺骗它进行权限升级
请参阅以获取文章。尝试一个名为PRoot的工具
它基于ptrace和syscall工具,其中一个可能的用例是实现类似chroot的功能。您可以从用户空间尝试fakechroot chroot,您可以使用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
看一看:该问题不在中定义的堆栈溢出主题上-您应该标记它们以引起注意,然后它们将被适当地关闭或迁移。您可能是对的,因为该问题最好属于不同的stackexchange。但我不想承认,这让我很烦恼,因为我是唯一一个因为这一事实而被否决的人。我只是想为这个原本有效的问题提供一个更好的答案,这很可能是更好的答案。当这个问题迁移到另一个exchange时,由于您对该问题的元原因而投了反对票,这一点将不再明显。