[Solucionado]Como configurar vsftpd CentOs7 - SeLinux

Buenas. en mi día a día montándome mi servidor he llegado al punto de querer instalar un servicio ftp en mi centos 7. llevo ya 3 días y hoy por fin he conseguido acceder, sin embargo, la carpeta a la que accedo se supone que debería contener elementos y no es así.

[RESUELTO]

Finalmente gracias a la pista de @Zokormazo he dado con la solución.

Os describo el proceso:

Instalamos vsftpd
sudo yum -y install vsftpd


configuramos /etc/vsftpd/vsftpd.conf
sudo vim /etc/vsftpd/vsftpd.conf

Estos son los parámetros:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES #este se añade
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES


creamos el usuario para el servicio ftp
sudo useradd ftpuser
sudo passwd ftpuser


incorporamos al usuario fpt al grupo apache
sudo usermod -a -G apache ftpuser


y asignamos /var/www/html/ como directorio home para el usuario ftp(pero podeis asignar cualquier otro directorio, eso si tenerlo muy en cuenta a la hora de continuar en los siguientes pasos)
sudo usermod -d /var/www/html/ ftpuser


configuramos las reglas del firewall
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload


Por último la parte selinux
sudo semanage fcontext -a -t public_content_rw_t /var/www/html
sudo restorecon -Rvv /var/www/html
sudo setsebool -P tftp_home_dir 1
sudo setsebool -P ftpd_full_access 1


Reiniciamos apache, lo habilitamos al reinicio y ya lo tenemos.
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
@alohl669
Puedes actualizar sin FTP, en tu archivo wp-config.php pon está línea:
define('FS_METHOD','direct');

Un saludo
luciferfran escribió:@alohl669
Puedes actualizar sin FTP, en tu archivo wp-config.php pon está línea:
define('FS_METHOD','direct');

Un saludo


Lo sabia y no recordaba porque ocurria:
No ha sido posible instalar la actualización debido a que no se han podido copiar algunos archivos. Normalmente esto es debido a permisos de archivo inconsistentes.: wp-admin/includes/update-core.php

Instalación fallida


Me aparece eso. no obstante insisto, tambien me interesa ahora saber configurar bien el vsftpd

Gracias por la ayuda!!

EDIT: por si os da por decir que es por permisos, he realizado la prueba yendo a lo bestia y he otorgado chmod 777 a todo el directorio y su contenido(-R) para descartarlo y da el mismo error.
Cosa de selinux? Tienes denials?

La parte de la ruta rara y usuario apache y tal no parece muy standard en cuanto a policies de selinux
Voy a probar, si que es verdad que esta vez no he tocado el selinux y en algún tuto si que lo mencionan. Me llama la atención porque para una vez que no lo he tocado he empezado a ver resultados, pero no descarto que tenga algo que ver

Pues toda la razón. SEliinux era el culpable. voy a modificar el primer post para dejar registrado el proceso
alohl669 escribió:Voy a probar, si que es verdad que esta vez no he tocado el selinux y en algún tuto si que lo mencionan. Me llama la atención porque para una vez que no lo he tocado he empezado a ver resultados, pero no descarto que tenga algo que ver

Pues toda la razón. SEliinux era el culpable. voy a modificar el primer post para dejar registrado el proceso

Cuando tengas problemas raros sobre algo basado en red hat, sospecha siempre de selinux. Lo llevan activado por defecto en todos sus productos

Puedes probar si es cosa de selinux de forma muy sencilla, como root: setenforce permissive . cambia selinux a solo notificar errores sin denegar nada. Si asi funciona, te falta arreglar algo en selinux xD
5 respuestas