
Tan pronto como inicio sesión con mis usuarios virtuales en ftp, aparece "no se puede cambiar el directorio", tengo la siguiente configuración en vsftpd.conf. Por favor recomiende
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
hide_ids=YES
user_config_dir=/data/some-path/ftp/users
local_root=/data/some-path/ftp/data/$USER
guest_username=vsftpd
Respuesta1
Parece que para que el usuario pueda acceder al directorio configurado, todos los directorios principales deben tener permisos de lectura y ejecución; de lo contrario, se denegarán por razones de seguridad.
Respuesta2
Creo que sus usuarios estarán vinculados a sus directorios de inicio con chroot_local_user=YES, tal vez intente configurar el directorio de inicio de su usuario de ftp en /data/some-path/ftp/data/$USER; de lo contrario, vea qué sucede cuando con chroot_local_user=NO
Respuesta3
Probablemente se trate de un problema de SELinux, intente configurar
/usr/sbin/setsebool -P ftp_home_dir 1
y ver si eso lo soluciona.
Respuesta4
Habilité las siguientes configuraciones en /etc/vsftpd.conf para superar el mismo mensaje de error:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
Además, ejecutó el siguiente comando:
sudo chmod +x /home/ -R