chroot 到 sshfs 文件夹

chroot 到 sshfs 文件夹

我正在尝试 chroot 到 sshfs 安装目录:

mkdir remoteroot
sshfs remote:/ remoteroot/
sudo chroot remoteroot/

但我明白了chroot: cannot change root directory to remoteroot/: Permission denied。我做错了什么还是这根本不支持?如果是这样,还有其他选择吗?

答案1

我发现问题是 sshfs 试图阻止其他用户(甚至 root)访问我的远程文件系统。此外,访问字符设备(例如/dev/null)是有问题的,并且可能不是您想要的,因为我猜想例如管道 to/dev/null将有效地通过网络发送字节。

这就是我现在使用的:

mkdir remoteroot
sshfs remote:/ remoteroot -o allow_other -o kernel_cache   #you need to enable user_allow_other in /etc/fuse.conf
sudo mount --bind /tmp/ remoteroot/tmp/
sudo mount --bind /dev remoteroot/dev
sudo mount --bind /sys remoteroot/sys
sudo mount --bind /run remoteroot/run
sudo mount --bind /var/tmp remoteroot/var/tmp
sudo chroot remoteroot

考虑到可能存在文件所有权问题,因为如果您su切换到另一个用户,远程端将不会切换到新用户。

相关内容