VSFTPD, 553 Não foi possível criar o arquivo. - permissões?

29

Eu configurei o VSFTPD no Amazon EC2 com o Amazon Linux AMI. Eu criei um usuário e agora posso conectar com sucesso via ftp. No entanto, se eu tentar fazer upload de algo, recebo a mensagem de erro "553 Não foi possível criar o arquivo".

Suponho que isso tenha a ver com permissões, mas não sei o suficiente para corrigi-lo. Então, basicamente, o que eu tenho que fazer para poder enviar arquivos?

    
por Jeff Schaller 27.05.2012 / 20:29

9 respostas

16

Existem dois motivos prováveis que isso pode acontecer: você não tem permissões de gravação e execução nos diretórios que levam ao diretório para o qual está tentando fazer o upload ou vsftpd está configurado para não permitir o upload.

No primeiro caso, use chmod e chown conforme apropriado para garantir que seu usuário tenha essas permissões em todos os diretórios intermediários. O bit de gravação permite que o usuário afetado crie, renomeie ou exclua arquivos no diretório e modifique os atributos do diretório, enquanto o bit de leitura permite que o usuário afetado liste os arquivos no diretório. Como os diretórios intermediários no caminho também afetam isso, as permissões devem ser definidas apropriadamente, levando ao destino final que você pretende carregar.

No último caso, observe seu vsftpd.conf . write_enable deve ser true para permitir a gravação (e é false por padrão). Existe uma boa documentação sobre este arquivo de configuração em man 5 vsftpd.conf .

    
por 28.05.2012 / 01:05
29

Você poderia tentar isso

chown -R ftpusername /var/www/html
    
por 03.08.2013 / 16:12
11

O comando ftp put /path/to/local_file não funciona com vsftpd . Tente o seguinte:

ftp put /path/to/local_file remote_file_name 

Você pode escolher qualquer nome que desejar para o remote_file_name , mas deve especificar um.

    
por 29.06.2014 / 04:52
2

O diretório home do FTP (ftp_home_dir) provavelmente está desativado no SeLinux. Para ver o status de seus arquivos de controle ftpd , emita: getsebool -a e localize a seção ftpd. Você pode perceber que ftp_home_dir está desativado. Para ativá-lo, use o seguinte comando: setsebool -P ftp_home_dir=1

Confirme sua entrada usando getsebool -a e tente o upload novamente.

Nota: Ignore os sinais de pontuação

    
por 14.10.2015 / 06:29
0

Eu tive o mesmo problema e consertei alterar o SELinux para permitir que a escrita na pasta que eu configurei fosse usada por vsftp = /var/ftp/pub .

Esses links podem ser úteis:

Se você não quer ir mais longe com seu SELinux, não altere, então você verá como padrão /etc/selinux/config

SELINUX=enforcing

depois é só executar os comandos como root ou com sudo :

sudo setsebool -P ftpd_anon_write 1
sudo setsebool -P ftpd_full_access 1

como já foi descrito acima em outro comentário.

    
por 05.12.2016 / 21:54
0

Outra possibilidade: verificar cotas de disco para o usuário / grupo

ext:

repquota -a

xfs:

xfs_quota -x -c 'report' /mount_point
    
por 02.06.2016 / 11:32
0

Verifique seu vsftpd.conf para esta configuração:

guest_enable=YES # set it to NO then restart the vsftpd service.

Se estiver definido como YES , isso também causará o 553 Could not create file .

De: link

guest_enable If enabled, all non-anonymous logins are classed as "guest" logins. A guest login is remapped to the user specified in the guest_username setting.

Default: NO

    
por 11.04.2018 / 10:45
0

Tente isso

chmod 757 -R /var/www/html
    
por 25.04.2018 / 15:38
-1

Para o Fedora23, execute os comandos:

setsebool -P ftpd_anon_write 1 
setsebool -P ftpd_full_access 1

Funcionou para mim.

    
por 20.05.2016 / 13:58