Como adicionar ponteiros a sistemas de arquivos fora do ambiente chrooted - usando SFTP com chroot via OpenSSH

8

Então, eu tenho certeza que isso é verdade, mas eu não encontrei uma referência independente especificamente detalhada que responde diretamente a minha pergunta. Pergunta sendo:

Como posso adicionar acesso a um recurso que está fora do ambiente chroot?

Eu configurei o SFTP chroot usando a nova diretiva ChrootDirectory do OpenSSH.

Infelizmente, no meu ambiente, não posso restringir diretamente o chroot ao diretório principal onde vivem determinados recursos do usuário. Então criei uma área chroot separada e estou ligando os recursos necessários.

Eu tentei usar links simbólicos para fazer isso. por exemplo.

ln -s /path/to/resource /chroot/dir/resource

Mas isso tem um erro "não foi possível canonizar o diretório não encontrado"

Então, minha solução foi usar uma montagem de ligação:

mount --bind /path/to/resource /chroot/dir/resource

Isso funcionou.

Realmente, eu só queria uma confirmação geral de que links simbólicos não funcionariam. Um link para uma boa referência descrevendo isso seria bom também.

JDS
fonte

Respostas:

7

Você não pode usar links simbólicos, isso é verdade. Links simbólicos são relativos ao diretório raiz ( / ), e no chroot que é a raiz do chroot, não a sua raiz do sistema de arquivos.

Aqui página de documentação do proftpd explicando a mesma coisa.

Olli
fonte