Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444181
  • 博文数量: 85
  • 博客积分: 3580
  • 博客等级: 中校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-09 14:09
文章分类

全部博文(85)

文章存档

2011年(7)

2010年(78)

我的朋友

分类:

2010-07-15 18:53:55

从源代码安装vsftpd,完全按照网上的教程配置虚拟用户,结果老530 Login incorrect,直接崩溃,后来找到了原因,原来是对pam的支持不足

解决方案:

第一个要注意的事情是make编译之前看一下builddefs.h这个文件的内容
vsftpd-2.0.3这个版本里这个文件的内容是这样的:

# cat builddefs.h 


引用:#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL



这里#define VSF_BUILD_PAM指定了要vsftpd支持pam,所以不要改成#undef VSF_BUILD_PAM

检查完builddefs.h后,make编译,用ldd命令检查生成的vsftpd文件有没有加载/lib/libpam.so.0

# ldd vsftpd

       引用: libpam.so.0 =>; /lib/libpam.so.0 (0x4001e000)
        libdl.so.2 =>; /lib/libdl.so.2 (0x40026000)
        libnsl.so.1 =>; /lib/libnsl.so.1 (0x40029000)
        libresolv.so.2 =>; /lib/libresolv.so.2 (0x4003e000)
        libutil.so.1 =>; /lib/libutil.so.1 (0x40050000)
        libcap.so.1 =>; /lib/libcap.so.1 (0x40053000)
        libc.so.6 =>; /lib/tls/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 =>; /lib/ld-linux.so.2 (0x40000000)



如果有,只要后面配置步骤正确,虚拟用户肯定没有问题。

如果没有,相信make过程中会出现这个Warning信息
引用:sysdeputil.c:1112: warning: `vsf_insert_uwtmp' defined but not used
sysdeputil.c:1151: warning: `vsf_remove_uwtmp' defined but not used 



解决办法:安装pam-devel
以RedHat9为例
# rpm -ivh pam-devel-0.75-48.i386.rpm


安装后,
# make clean 

# make

再检查vsftpd,肯定有libpam.so.0了

这样再按照正确的配置方法去配置,虚拟用户肯定没有问题。
阅读(5454) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~