Eu descobri que o problema é o sshfs tentando evitar que outros usuários (mesmo root) acessem meu sistema de arquivos remoto. Além disso, acessar dispositivos de caractere (como /dev/null
) é problemático e provavelmente não é o que você deseja, porque acho que, por exemplo, canalizar para /dev/null
enviaria efetivamente bytes pela rede.
Isso é o que eu uso agora:
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
Considere que pode haver problemas de propriedade de arquivo, porque se você su
para outro usuário, o fim remoto não mudará para o novo usuário.