vsftpd配置虚拟用户后登录提示530错误的解决方法

这个错误其实是提示你账户认证失败,那么就从有关账户认证的方面来排查错误。
查看日志。

tail /var/log/secure

下面是关于vsftpd账号登录失败的日志信息

Sep 21 07:50:44 localhost vsftpd[2154]: pam_userdb(vsftpd:auth): user_lookup: could not open database `/etc/vsftpd/user.db': No such file or directory
Sep 21 07:50:44 localhost vsftpd[2154]: pam_unix(vsftpd:auth): check pass; user unknown
Sep 21 07:50:44 localhost vsftpd[2154]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user1 rhost=192.168.1.252
Sep 21 07:50:44 localhost vsftpd[2154]: pam_succeed_if(vsftpd:auth): error retrieving information about user user1

注意到这一行:

Sep 21 07:50:44 localhost vsftpd[2154]: pam_userdb(vsftpd:auth): user_lookup: could not open database `/etc/vsftpd/user.db': No such file or directory

提示说,找不到用户认证数据库文件,但是事实上这个文件是存在的,最后经过漫长的百度搜索后发现,原来是在pam的vsftpd的配置文件中填的数据库地址是不可以带.db后缀的,因为pam会自动加上.db,如果手动加了一个那么最后的后缀就变为了.db.db了,当然会提示说找不到配置文件啦!

vim /etc/pam.d/vsftpd

去掉不该有的.db后缀(图中红色箭头所指的部分)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code