如何修复 vsftpd 错误:500 OOPS:无法更改目录

如何修复 vsftpd 错误:500 OOPS:无法更改目录

我正在尝试在我的 Ubuntu 20.04 VM 上设置 vsftpd 以进行匿名、只读访问。主目录是 /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>"

请问我遗漏了什么?

答案1

好吧,这很愚蠢。

anon_root=/home/ftp/filebase/

没有引号,它就可以正常工作。虽然执行和读取权限对 root 来说很重要,但可能没有写入权限。否则,vsftpd 会抛出错误

500 OOPS: vsftpd refusing to run with writable root inside chroot()

相关内容