vsftpd 服务常见错误

530 Login incorrect

报错信息 : 登录时报错 530 Login incorrect
错误原因

/etc/pam.d/vsftpd
auth  required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed 

默认情况下,/etc/vsftpd/ftpusers 里面的用户是被拒绝登录的,确保要登录的用户不在此文件中

/etc/pam.d/vsftpd
auth       required    pam_shells.so  

此配置指定,只允许登录 shell 为 /etc/shells 中的 shell 的用户登录
如果用户 shell 为 /sbin/nologin ,则不允许登录,可改为 pam_nologin.so

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

错误原因 : 从 2.3.5 之后,vsftpd 增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
解决方法 1 : 用户主目录取消写权限

chmod a-w /data/ftpdir

解决方法 2 : 配置文件中增加以下配置

vsftpd.conf
allow_writeable_chroot=YES

500 OOPS: vsftpd: cannot locate user specified in ‘guest_username’:ftp

错误原因 : 配置文件中启用了匿名用户登录,系统中没有 ftp 的匿名用户 ftp
解决方法 1
配置文件中禁用匿名用户登录,同时指定用户

vsftpd.conf
anonymous_enable=NO
ftp_username=nobody

550 Create directory operation failed

错误原因 : 匿名登录的用户不允许在 ftp 根目录下面新建对象,可以在根目录下面创建文件夹,如 pub,并给 ftp 为属主,在 pub 下面新建文件

参考链接