环境:
u Redhat6.1,供安装proftpd1.2.6,是一个clear的系统,未安装openldap开发库。
u Openldap2.0.7已安装并供邮件系统正常使用,Openldap运行在另一台机器上(mail.foo.com)。
安装过程:
1、 从www.proftp.org下载proftpd1.2.6及mod_ldap2.8.10。解包。
2、 从www.openldap.org下载openldap2.0的最新稳定版。
3、 将openldap安装在/usr/local/openldap。
4、 从mod_ldap2.8.10下将mod_ldap.c复制到proftpd1.2.6/modules下面。
5、 在proftpd1.2.6下面执行:./configure '--prefix=/usr/local/proftpd/' '--with-includes=/usr/local/openldap/include/' '--with-libraries=/usr/local/openldap/lib' '--with-modules=mod_ldap'
6、 编辑Make.rules,将LIBS=-lsupp -lcrypt -lldap -llber -lpam -L/usr/local/openldap/lib修改为LIBS=-lsupp -lcrypt -lldap -llber -lpam -lresolv -L/usr/local/openldap/lib(在我的机器上不说明装载libresolv会出错)
7、 make depend,make install.
8、 设置环境变量:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openldap/lib/;export LD_LIBRARY_PATH
9、 编辑/usr/local/proftpd/etc/proftpd.conf,加入如下字段:
LDAPDoAuth on dc=foo.com,,o=foo
LDAPServer mail.foo.com
LDAPDNInfo dc=foo.com,o=foo
LDAPAuthBinds off
LDAPDefaultGID 99(rh6.1中nobody的uid)
LDAPDefaultUID 99(rh6.1中nobody的uid)
10、 启动proftpd,/usr/local/sbin/in.proftpd
11、 在ldapserver端,如果编辑slapd.conf,将nis.schema包括进去。如果以前的LDAP数据库中的DN条目都不包括objectClass:posixAccount等attr的话,则需要添加进去,需要添加的属性如下:
objectClass:posixAccount
uidNumber:99
gidNumber:99
loginShell:/bin/sh
homeDiectory:/home/ftp.
可以写一个脚本,来进行添加。附件中的vu_ftp_ldap.conf和vu_ftp.htm配合可以完成这个功能。
文章选项: