Problema com links simbólicos no cliente de FTP

1

Recentemente tive alguns problemas ao tentar configurar um servidor FTP de uma determinada maneira. Eu tenho um cliente que tem um monte de dados colocados em uma pasta. O cliente tem vários diretórios pelos quais os dados são organizados. No final (do "filtro de diretório"), eles têm um link simbólico que aponta para um arquivo na pasta de dados massivos. Por exemplo,

/lab/directory1/type2/data/owner/lab/bla/bla/file---->/lab/data/filexyz

Para replicar e configurar um servidor "FTP", eu simplesmente criei um diretório chamado /lab/data/ e copiei todos os dados de lá. Eu apenas copiei a estrutura da pasta de links simbólicos.

Eu configurei o vsftpd. Criei um usuário local com um false bin e configurei o diretório home desse usuário para /lab O problema é que quando eu tenho chroot_local_user=YES ativado no arquivo de configuração, o usuário não consegue obter o arquivo que o servidor dá 550 Failed to open file. porque é esse o caso. O link simbólico está apontando para um arquivo que está em seu diretório inicial. No entanto, quando eu tenho chroot_local_use=NO , o usuário é capaz de baixar os arquivos sem problemas. Existe uma maneira de permitir que o usuário obtenha arquivos através de links simbólicos que estão em seu diretório inicial enquanto está sendo chroot preso?

Eu tenho coçado minha cabeça sobre isso. Obrigado!

    
por Falcata 15.08.2011 / 17:35

4 respostas

3

Um link simbólico é um ponteiro para o arquivo "direito". Mas se esse arquivo original estiver fora da cadeia, você não poderá acessá-lo. Este é o objetivo de uma prisão. Caso contrário, um usuário normal poderia criar um link simbólico na prisão para /etc/passwd e apenas lê-lo. Que risco de segurança!

Então preso é preso. Provavelmente um link físico fará o trabalho, já que é uma "cópia sem duplicar o tamanho usado". E para o servidor FTP é como um arquivo normal (com todos os problemas).

    
por 15.08.2011 / 18:11
1

Você deve usar algo como mount --bind

    
por 15.08.2011 / 18:30
1

Você pode usar a opção bind do mount para remontar a outra pasta para que o servidor FTP veja os arquivos como estando dentro da raiz do site.

... Você pode montar / home / shared / files / em / home / website / files / como isso.

Crie um ponto de montagem (um diretório) em / home / website

mkdir / home / website / files /

Monte o outro diretório sob este ponto de montagem

mount --bind / home / shared / arquivos / home / website / files /

Agora, será exibido que esses arquivos estão em / home / website /, portanto, estarão disponíveis mesmo se você restringir o usuário a este diretório-raiz do site ....

Extraído da HERE:

Configure o link simbólico onde os usuários podem acessá-lo com FTP

    
por 21.01.2016 / 23:45
0

Eu tive esse problema porque usei caminhos absolutos para o destino do link.

meu comando era:

ln -s /var/www/vhost/myhost.com/typo3_src/typo3_src-8.7.6/ typo3_src

... typo3_src não apareceu no cliente FTP

quando usei caminhos relativos, funcionou:

ln -s typo3_src/typo3_src-8.7.6/ typo3_src
    
por 11.08.2018 / 19:43