首次使用到Proftpd作UBUNTU的FTP服务,还采用了Ldap认证方式。国内国外搜了一圈,终于初步的完成了域认证,以下是我的心得总结:
0. 安装
还是先从安装开始,安装Proftpd的操作
apt-get install proftpd-basic
安装过程中会显示:
选择“standalone”,然后继续安装。
Proftpd有两种运行模式:standalone、xinetd。这两种的区别建议看这篇文章,我觉得已经说的很完整了,就借花献佛介绍给大家看看:两种运行模式的区别。
如果需要Ldap认证的话,还需要安装额外包
apt-get install proftpd-mod-ldap
这样就完成全部的安装准备工作了。
1. 基本配置(/etc/proftpd/proftpd.conf)
默认的配置很多都不需要修改,这里就提一下我修改的地方。详细的参数内容可以从这里查:参数配置手册。
0). 修改根目录
1). 不强制使用 /etc/shell连接
2). 加快登陆速度,不获取客户机的UID,不反查DNS,取消注释。
3). 显示详细的Debug日志(可选,调试配置的时候用)
在上述配置完成以后,执行
/etc/init.d/proftpd restart
然后设置默认用户proftpd的密码,执行
passwd proftpd
就可以进行基本的FTP功能测试了。
2. ldap配置
0). 修改 /etc/proftpd/proftpd.conf 文件
1). 修改 /etc/proftpd/modules.conf
2). 修改 /etc/proftpd/ldap.conf (主要,本例子中DNS:users.example.com)
这个文件的配置有两种情况,一般认证的情况只要:
LDAPServer ldap://users.example.com 或 ldap://1.2.3.4:50 (建议用IP更好)
LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
而如果采用 Windows Active Directory Server 进行控制的时候:
LDAPServer ldap://users.example.com
LDAPUseTLS on (可选)
LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
LDAPUsers dc=users,dc=example,dc=com (&(sAMAccountName=%u)(objectclass=user))
LDAPSearchScope subtree (重要必填)
# Use different attribute names where necessary
LDAPAttr uid sAMAccountName
LDAPAttr gidNumber primaryGroupID
做好以上的配置就能通过域用户来登陆FTP。
以上就是关于Proftpd+Ldap认证的方式的一些个人总结经验,关于域用户和组权限的限制我还没有完全配置好,这个就留到下次再总结吧。如果文章有什么问题,请看官联系我,大家一起交流讨论。