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

8

Então, tenho certeza de que isso é verdade, mas não encontrei uma referência independente especificamente detalhada que responda diretamente à 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 em que determinados recursos do usuário residem. Então, criei uma área chroot separada e estou vinculando 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 queria apenas uma confirmação geral de que links simbólicos não funcionariam. Um link para uma boa referência descrevendo isso também seria bom.

    
por JDS 17.02.2011 / 19:48

1 resposta

7

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

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

    
por 17.02.2011 / 20:05