sshfsインストールディレクトリにルートを移動しようとしています。
mkdir remoteroot
sshfs remote:/ remoteroot/
sudo chroot remoteroot/
しかし、私はそれを理解していますchroot: cannot change root directory to remoteroot/: Permission denied
。私は何か間違っているのでしょうか、それとも単にサポートされていませんか?もしそうなら、他のオプションはありますか?
ベストアンサー1
問題は、sshfsが他のユーザー(さらにはroot)が私のリモートファイルシステムにアクセスするのを妨げようとすることでした。また、文字デバイス(たとえば/dev/null
)にアクセスするのに問題があり、おそらく望むものではないかもしれません。これは、たとえば、配管が/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
他のユーザーに切り替えると、リモート側では新しいユーザーに切り替えられないため、ファイルの所有権に問題がある可能性があることを検討してください。