vsftpd 虚拟用户 530 Login incorrect 错误
centos6
先看一下流行的配置方法
yum install db4-utils
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
vftpuser.txt内容:
yy(偶行是用户名)
123456(奇行是密码)
vim /etc/pam.d/vsftpd
将里面其他的都注释掉,添加下面这两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
vim /etc/vsftpd/vsftpd.conf
guest_enable=YES (开启虚拟用户)
guest_username=ftp (FTP虚拟用户对应的系统用户)
pam_service_name=vsftpd #PAM认证文件
service vsftpd restart
尝试登陆发现
530 Login incorrect错误
查看日志
tail -f /var/log/secure
发现PAM unable to dlopen(/lib/security/pam_userdb.so): /lib/security/pam_userdb.so: cannot open shared object file: No such file or directory
原来pam_userdb.so在/lib64/security/pam_userdb.so
解决方法,把/etc/pam.d/vsftpd文件中的/lib/security/去掉,改为
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
或者
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
修改后重启vsftpd服务正常
64位系统的朋友们注意哦
解决问题,bingo!!!!!!!!!!!!!!!!