VSFTPD сообщает: «500 OOPS: невозможно сменить каталог»

VSFTPD сообщает: «500 OOPS: невозможно сменить каталог»

Как только я вхожу с моими виртуальными пользователями на ftp, я получаю "не могу изменить директорию", у меня следующая конфигурация в vsftpd.conf. Пожалуйста, предложите

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

решение1

Похоже, для того, чтобы пользователь мог выполнить chroot-переход в настроенный каталог, все родительские каталоги должны иметь разрешения на чтение и выполнение, в противном случае доступ будет запрещен по соображениям безопасности.

решение2

Я думаю, что ваши пользователи будут привязаны к своим домашним каталогам с помощью chroot_local_user=YES, возможно, попробуйте установить домашний каталог вашего пользователя FTP в /data/some-path/ftp/data/$USER, иначе посмотрите, что произойдет, если использовать chroot_local_user=NO

решение3

Вероятно, это проблема SELinux, попробуйте установить

/usr/sbin/setsebool -P ftp_home_dir 1

и посмотрим, исправит ли это проблему.

решение4

Я включил следующие параметры в /etc/vsftpd.conf, чтобы обойти это сообщение об ошибке:

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

Также выполните следующую команду:

sudo chmod +x /home/ -R 

Связанный контент