Os uploads de FTP têm permissões incorretas ao usar o vsftpd

1

Eu configurei recentemente um site FTP usando o VSFTPD no Debian, e estou com um problema com diretórios enviados que não podem ser acessados. Os arquivos estão ok, mas quando tento fazer o upload de um diretório ou mudar para um diretório vazio recém-carregado, recebo o seguinte erro:

Falha ao alterar o diretório.

Se eu entrar no shell como e chmod as permissões corretas, posso acessar o diretório sem problemas. Se eu entrar no shell e criar um novo diretório, também não há problema com ele, esse problema parece estar apenas nos diretórios enviados por meio de um cliente FTP.

Qualquer ajuda sobre isso é muito apreciada. Estou executando o Debian 7.5 (Wheezy) e o cliente que estou usando para conectar é o WinSCP de um sistema Windows 7. Eu estou usando um chroot jail, onde o usuário é preso ao seu diretório home (que não é gravável).

    
por Bender the Greatest 22.07.2014 / 15:59

1 resposta

2

Bem, acho que pode haver duas causas:

  1. Você faz login no servidor FTP como anonymous , mas os diretórios carregados são chown para outro usuário, e eles têm permissões 0600 , então ficam indisponíveis para ftp (ou outro conjunto de usuários por ftp_username ) para o qual usuários anônimos são mapeados pelo daemon vsftpd .

    Tente definir o seguinte no seu vsftpd.conf :

    chown_uploads=YES
    chown_upload_mode=0644
    chown_username=ftp
    

    Você pode querer alterar ftp para outra coisa se já tiver alterado ftp_username ou guest_username .

  2. Você disse que os arquivos enviados estão corretos, mas os diretórios estão quebrados. Isso me faz pensar que há algo errado com umask , talvez esteja definido como algo como 011 ou 033 que faz com que o execute bit seja desativado e, portanto, você não pode listar diretórios.

    Tente corrigir isso definindo umask valores como 022 no vsftpd.conf :

    anon_umask=022
    local_umask=022
    
por 22.07.2014 / 22:17