Я пытаюсь настроить vsftpd для анонимного доступа только для чтения на моей виртуальной машине Ubuntu 20.04. Домашний каталог - это / home / ftp / filebase. Когда я пытаюсь войти в систему, я получаю сообщение об ошибке
500 OOPS: cannot change directory: "/home/ftp/filebase"
и меня выгнали.
Здесь уже есть несколько вопросов по этому поводу. Большинство предлагает отключить SELinux (здесь не установлен) или настроить права доступа к каталогу, чтобы предоставить доступ вверху:
# ls -al
total 2097232
drwxr-xr-x 4 root root 4096 Jul 24 18:32 home
/home# ls -al
drwxr-xr-x 3 ftp ftp 4096 Jul 24 18:34 ftp
/home/ftp# ls -al
drwxr-xr-x 3 ftp ftp 4096 Jul 24 18:34 .
drwxr-xr-x 4 root root 4096 Jul 24 18:32 ..
drwxrwxr-x 198 ftp ftp 212 Mai 17 2018 filebase
Таким образом, все каталоги вверху имеют права на чтение и выполнение для всех.
моя конфигурация:
listen=YES
listen_ipv6=NO
anonymous_enable=YES
local_enable=NO
anon_root="/home/ftp/filebase/"
no_anon_password=YES
hide_ids=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
pasv_enable=Yes
pasv_min_port=40110
pasv_max_port=40210
ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
Файл журнала довольно тихий:
Fri Jul 24 19:16:59 2020 [pid 7822] CONNECT: Client "192.168.1.2"
Fri Jul 24 19:16:59 2020 [pid 7818] [ftp] OK LOGIN: Client "192.168.1.2", anon password "<no_password>"
Пожалуйста, что мне не хватает?
Хорошо, это глупо.
anon_root=/home/ftp/filebase/
Без кавычек работает. И хотя важно, чтобы для корневого каталога существовали разрешения на выполнение и чтение, разрешений на запись может не быть. В противном случае vsftpd выдает ошибку
500 OOPS: vsftpd refusing to run with writable root inside chroot()