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下面新建文件

参考链接