作者:linlinfanny_744 | 来源:互联网 | 2023-08-26 08:31
根据上一篇 《vsFTPd配置教程》教程配置vsFTPd时,在最后测试时出现530 login incrrect 提示,无法登陆。
查看日志 tail -n 20 /var/log/secure 有如下信息
Oct 21 14:19:40 www vsftpd: PAM unable to dlopen(/lib/security/pam_userdb.so)
Oct 21 14:19:40 www vsftpd: PAM [error: /lib/security/pam_userdb.so: wrong ELF class: ELFCLASS32]
Oct 21 14:19:40 www vsftpd: PAM adding faulty module: /lib/security/pam_userdb.so
Oct 21 14:19:40 www vsftpd: pam_unix(vsftpd:auth): check pass; user unknown
Oct 21 14:19:40 www vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=linuxidc rhost=60.55.8.102
Oct 21 14:19:40 www vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user linuxidc
很明显是 /lib/security/pam_userdb.so这个载入失败。
我检查本地机器
pam.i386 0.99.6.2-6.el5_5.2 installed
pam.x86_64 0.99.6.2-6.el5_5.2 installed
两种都已经安装,到底是载入的哪个,哪个载入失败呢?
我机器是64位的,猜想应该是要载入pam.x86_64
cat /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers Onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
就是这里 /lib/security/pam_userdb.so 文件载入失败,这个文件存在问题。
[root@www linuxidc]# ls /lib
lib/ lib64/
根目录存在此两个问题,尝试把lib改为 lib64并确认 /lib/security/pam_userdb.so 此文件存在。
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
保存重启vsftpd服务。
重新测试,登陆成功了。
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 2013-06/86250.htm
RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例 2013-04/82300.htm
Linux系统vsftpd源码安装 2013-03/81475.htm
vsftpd的安全配置案例分析 2012-12/76501.htm