He configurado VSFTPD en Amazon EC2 con Amazon Linux AMI. Creé un usuario y ahora puedo conectarme con éxito a través de ftp. Sin embargo, si intento cargar algo, aparece el mensaje de error "553 No se pudo crear el archivo".
Supongo que esto tiene que ver con los permisos, pero no sé lo suficiente para poder solucionarlo. Básicamente, ¿qué tengo que hacer para poder cargar archivos?
permissions
ftp
vsftpd
amazon-ec2
Jeff Schaller
fuente
fuente
Respuestas:
Hay dos razones probables por las que esto podría suceder: no tiene permisos de escritura y ejecución en los directorios que conducen al directorio al que está intentando cargar, o
vsftpd
está configurado para no permitirle cargar.En el primer caso, use
chmod
ychown
según corresponda para asegurarse de que su usuario tenga estos permisos en cada directorio intermedio. El bit de escritura permite al usuario afectado crear, renombrar o eliminar archivos dentro del directorio y modificar los atributos del directorio, mientras que el bit de lectura permite al usuario afectado enumerar los archivos dentro del directorio. Dado que los directorios intermedios en la ruta también afectan esto, los permisos deben establecerse de manera adecuada hasta el destino final al que desea subir.En el último caso, mira tu
vsftpd.conf
.write_enable
debe ser verdadero para permitir la escritura (y es falso por defecto). Hay buena documentación sobre este archivo de configuración enman 5 vsftpd.conf
.fuente
¿Podrías probar esto?
fuente
El comando
ftp put /path/to/local_file
no funciona convsftpd
. Intenta lo siguiente:Puede elegir cualquier nombre que desee para el
remote_file_name
, pero debe especificar uno.fuente
/path/to/
no existe (y / o no es accesible a través de la sesión FTP) en el servidor. Es por esto queftp put local_file
hace el trabajo sin destino explícita. (Sugerencia: verifique lalocal: … remote: …
línea en el cliente FTP.)El directorio de inicio FTP (ftp_home_dir) probablemente esté desactivado en SeLinux. Para ver el estado de sus
ftpd
archivos de control, emita:getsebool -a
y ubique la sección ftpd. Puede notar que ftp_home_dir está desactivado. Para encenderlo, use el siguiente comando:setsebool -P ftp_home_dir=1
Verifique su entrada usando
getsebool -a
, luego intente cargar de nuevo.Nota: ignore los signos de puntuación
fuente
Tuve el mismo problema y solucioné el cambio de SELinux para permitir la escritura en la carpeta que configuré para ser utilizado
vsftp = /var/ftp/pub
.Estos enlaces pueden ser útiles:
Si no desea ir más allá con su SELinux, no lo cambie, por lo que verá como predeterminado
/etc/selinux/config
luego simplemente ejecute los comandos como root o con
sudo
:como ya se describió anteriormente en otro comentario.
fuente
Compruebe su
vsftpd.conf
para esta configuración:Si se establece en
YES
, también causará el553 Could not create file
.De: http://www.vsftpd.beasts.org/vsftpd_conf.html
fuente
Prueba esto
fuente
Otra posibilidad: verificar las cuotas de disco para el usuario / grupo
ext:
xfs:
fuente
El siguiente parámetro le dará acceso a ftpd para escribir en cualquier lugar:
No lo use a
ftpd_anon_write
menos que desee que se permitan cargas anónimas.fuente
Es probable que tenga caracteres no admitidos en el nombre del archivo
fuente
Para Fedora23 ejecute los comandos:
Funcionó para mi.
fuente