最近不少朋友遇到配置vsftpd虚拟用户后无法登录的问题( 530 Login incorrect),都是按照vsftpd的例子或网上的教程配置的,步骤完全一样,可就是登录不了。最近的几篇帖子如下:
我的vsftpd虚用户不能登陆,怎样修改呀!急!!!
http://bbs.chinaunix.net/forum/viewtopic.php?t=584845&show_type=
vsftpd虚拟用户问题,请帮帮忙
http://bbs.chinaunix.net/forum/viewtopic.php?t=558594&show_type=
VSFTPD本地用户成功,想搞PAM加DB的,哪位大哥成功了的?
http://bbs.chinaunix.net/forum/viewtopic.php?t=583872&show_type=
“按照搂主的方法配置,在centos-3上面, 虚拟用户,怎么配置都是提示 密码错误! 实在是想不到问题会出在哪里。”
http://bbs.chinaunix.net/forum/viewtopic.php?t=561183&show_type=new&postdays=0&postorder=asc&start=20#3738430
我可能运气比较好,从未碰到这个问题,今天在帮sword_111看这个问题的时候,总结了一些东西,与大家分享,希望能解决以上朋友遇到的问题。
从sword_111的情况,我假设朋友们都是从源代码安装vsftpd,那么第一个要注意的事情是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
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 登录 朋友 请看 无法 用户 配置 虚拟 文件 YES vsftpd |
注册
个人空间
