Назад | Перейти на главную страницу

Как исправить ошибку vsftpd: 500 OOPS: невозможно сменить каталог

Я пытаюсь настроить 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()