Chinaunix首页 | 论坛 | 博客
  • 博客访问: 268205
  • 博文数量: 37
  • 博客积分: 1296
  • 博客等级: 中尉
  • 技术积分: 481
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-24 17:00
文章分类

全部博文(37)

文章存档

2013年(1)

2011年(21)

2010年(4)

2009年(2)

2007年(9)

我的朋友

分类: LINUX

2011-08-16 17:53:25

vsftp很早就弄过,现在再弄随便找了个文档。结果搞了一下午。
最后发现是vsftp的问题。现在把自己查问题的思路写一下。

另外几个要点:
配置文件最后不能留有空格,否则报错。
主配置文件的user_config_dir和虚拟用户的local_root 不要是子目录关系。

问题:vsftp无法登陆 显示密码错误
查了下面几点:
/etc/pam.d/vsftp.vu
auth    required    /lib64/security/pam_userdb.so db=/etc/ftp_user
account    required    /lib64/security/pam_userdb.so db=/etc/ftp_user
一直以为在pam文件中使用db的hash和没有用效果是一样的,如果发现db搞不定可以直接用没有db的。
更正一下,先看看下面
  1. Aug 20 20:48:46 tianjin-dac-161 vsftpd: pam_userdb(vsftpd.vu:auth): user_lookup: could not open database `/etc/vsftpd_login': No such file or directory

    [root@tianjin-dac-161 user]# ls /etc/vsftpd_login
    /etc/vsftpd_login
    [root@tianjin-dac-161 user]# ls /etc/vsftpd_login
    /etc/vsftpd_login
如果没有通过db_hash会报错,感觉会自动pam配置的文件名后加.db的文件作为数据库文件。

接着查 /var/log/messages /var/log/vsftpd.log /var/log/secure
其中secure这个文件是主要,这次就是没有注意导致查了很久。日志是这样的:
  1. Aug 16 16:51:02 tianjin-dac-15 vsftpd: PAM adding faulty module: /lib/security/pam_userdb.so
  2. Aug 16 16:51:03 15 vsftpd: PAM unable to dlopen(/lib/security/pam_userdb.so)
  3. Aug 16 16:51:03 15 vsftpd: PAM [error: /lib/security/pam_userdb.so: wrong ELF class: ELFCLASS32]
  4. Aug 16 16:51:03 15 vsftpd: PAM adding faulty module: /lib/security/pam_userdb.so
  5. Aug 16 16:54:52 15 vsftpd: PAM unable to dlopen(/lib/security/pam_userdb.so)
  6. Aug 16 16:54:52 15 vsftpd: PAM [error: /lib/security/pam_userdb.so: wrong ELF class: ELFCLASS32]
一堆堆错误,后来修改了selinux重启后问题解决。
除了关掉 selinux,在.so文件的选择上如果是64位的一定要使用 lib64目录下的文件。
否则就会产生上面的错误。
留下这些文字给自己以警示。
阅读(2995) | 评论(0) | 转发(0) |
0

上一篇:ebay 架构设计原则

下一篇:运维故障一则

给主人留下些什么吧!~~