「vsftpd」- 常见错误汇总

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

问题描述
以匿名用户身份使用ftp命令连接vsftpd服务时,产生500 OOPS: vsftpd: refusing to run with writable root inside chroot()错误。

问题原因
导致该问题的原因有很多。在我们的场景中,该问题是由于目录权限错误导致的。

用户及组可以具有写入权限,但是其他用户不能具有写入权限。

解决办法
修改目录权限,去掉其他用户的写入权限(chmod o-w "/path/to/dir")。

500 OOPS: vsftpd: not found: directory given in ‘secure_chroot_dir’:xxxxxxx

响应: 500 OOPS: vsftpd: not found: directory given in ‘secure_chroot_dir’:/usr/share/empty
错误: 严重错误: 无法连接到服务器

553 Could not create file

问题描述:在使用匿名帐号进行上传时,产生553 Could not create file错误。

问题原因:在我们的场景中,该问题是由于权限错误导致的。匿名用户上传需要开启anon_upload_enable=YES参数。

解决办法:修改配置/etc/vsftpd/vsftpd.conf文件,设置anon_upload_enable=YES参数。

550 Failed to open

问题描述:在使用ftp命令进行下载文件时,产生550 Failed to open file.错误提示。

问题原因:可能是文件自身问题,但更多是因为权限错误,导致运行FTP进程的用户无法读取文件。

解决办法:修改文件权限,使实际读取文件的用户具有对该文件的读取权限。

550 Permission denied

问题描述:在使用匿名帐号进行上传时,产生550 Permission denied错误。

问题原因:在我们的场景中,我们需要允许匿名用户上传,因此需要开启 anon_upload_enable=YES 参数。

解决办法:修改配置 /etc/vsftpd/vsftpd.conf 文件,设置 anon_upload_enable=YES 参数。

Connection attempt failed with “EAI_NONAME – Neither nodename nor servname provided, or not known”

没有解析出主机名。