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