
Assim que faço login com meus usuários virtuais no ftp recebo "não é possível alterar o diretório", tenho a seguinte configuração no vsftpd.conf. Por favor sugira
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
Responder1
Parece que para que o usuário possa fazer chroot no diretório configurado, todos os diretórios pais devem ter permissões de leitura e execução, caso contrário, serão negados por motivos de segurança.
Responder2
Acho que seus usuários serão vinculados aos seus diretórios pessoais com chroot_local_user=YES, talvez tente definir o diretório inicial do seu usuário FTP para /data/some-path/ftp/data/$USER, caso contrário, veja o que acontece quando com chroot_local_user=NO
Responder3
Este é provavelmente um problema do SELinux, tente configurar
/usr/sbin/setsebool -P ftp_home_dir 1
e veja se isso resolve.
Responder4
Ativei as seguintes configurações em /etc/vsftpd.conf para passar pela mesma mensagem de erro:
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
Além disso, executei o seguinte comando:
sudo chmod +x /home/ -R