chroot em uma pasta sshfs

6

Estou tentando fazer o chroot em um diretório montado pelo sshfs:

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

mas recebo chroot: cannot change root directory to remoteroot/: Permission denied . Estou fazendo algo errado ou isso simplesmente não é suportado? Em caso afirmativo, existem alternativas?

    
por Lorenzo Pistone 07.09.2014 / 12:41

1 resposta

2

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.

    
por 07.09.2014 / 15:45