主页 回到教程 在线帮助

将Xlight FTP服务器与LDAP服务器整合使用

Xlight FTP服务器可以和LDAP服务器整合,用来鉴权用户. 用户可以用相同的用户名,密码访问FTP服务器,电子邮件服务器等等. 注意: 30-天试用期后, 只有专业版本的Xlight FTP服务器支持这个功能.

在这个示例里, 我们使用Novell公司的eDirectory LDAP服务器演示将Xlight FTP服务器与LDAP服务器整合的步骤. 对于其他LDAP服务器, 设置步骤很类似.

如果使用LDAP为外部用户鉴权, 你需要到 [虚拟服务器设置]->[通用]->[虚拟服务器], 选择选项"启用外部用户鉴权" . 单击"设置..."键, 在虚拟服务器的"鉴权类型"中LDAP必须被选择,如下图所示:


你需要设置LDAP服务器的IP地址或者域名. 因为Novell公司的eDirectory LDAP服务器默认强制使用TLS连接, 你需要启用选项 "使用TLS/SSL 连接". 如果LDAP服务器不强制使用TLS/SSL连接,你可以不需要启用这个选项.

大部分LDAP服务器默认支持匿名绑定(Anonymous Bind), 因此你可以使用选项"匿名绑定". 如果你的LDAP服务器不支持匿名绑定, 你需要设置"绑定DN"和"绑定密码".

你最好设置"搜索用户的起始DN". 或者你可以点击"获取DN"键获取DN. 如果你不设置,Xlight FTP服务器将从根DN开始搜索用户, 但也可能找不到用户数据.


Xlight FTP服务器搜索LDAP服务器,用存储在object Class inetOrgPerson的属性uid匹配用户登录名.

如果你想只用LDAP服务器检查用户名和密码, 你可以选择选项"只检查用户名和密码". 如果你不选择这个选项, LDAP里的属性 homeDirectory(POSIX 属性) 也会被检查和使用.

设置默认的用户设置

如果你不想使用LDAP的属性homeDirectory作为用户的FTP主目录, 或者有太多LDAP用户,你不想为他们每个单独设置主目录. 你可以使用默认的用户设置来设置用户主目录. 这个链接有关于设置用户默认设置的详细说明.

用户ObjectClass是"user","posixAccount"或"organizationalPerson"

大多数LDAP服务器使用inetOrgPerson作为属性uid的类. 但是有些LDAP服务器使用"user", "posixAccount""organizationalPerson"作为属性uid的类. 对这些LDAP服务器,你需要选择这个选项,否则用户认证会失败.

使用用户身份模拟访问他主目录里的UNC路径

当用户主目录是UNC路径时, 默认Xlight FTP服务器会使用运行服务器的账户访问这个UNC路径. 例如,如果Xlight FTP服务器作为系统服务运行,通常这个账户时本地系统账户. 但如果选项"使用用户身份模拟访问他主目录里的UNC路径"被选中, 将会使用登录用户访问UNC路径. 因此,登录用户必须有访问UNC路径的NTFS权限.

为FTP服务器设置公共目录

你可以设置虚拟服务器的公共目录. 用户鉴权后, 所有用户都能够看到并从公共目录下载, 如下图所示:


创建并允许匿名用户访问FTP服务器

当用户使用LDAP鉴权时, 你可能希望允许使用任意密码的匿名用户访问FTP服务器. 因为在LDAP服务器内的用户必须使用密码, 匿名用户不能创建在LDAP服务器内.

不过你可以在本地创建一个用户名是"anonymous"的匿名用户,并在他的设置([用户设置]->[账号]->[外部鉴权选项])中选择选项"忽略外部用户鉴权", 如下图所示. 这个本地的FTP用户将会忽略外部用户鉴权,而使用本地FTP鉴权. 他的设置也将来自本地FTP服务器.


如何在eDirectory LDAP服务器内安装扩展模版xlightFTPd

这里还有另外一个选项"使用扩展Schema "xlightFTPdUser"". 它通过扩展schema xlightFTPdUser, 提供了很多和Xlight FTP服务器相关的FTP用户控制参数.

当这个选项被选择后, LDAP服务器里POSIX object class的属性 homeDirectory将不再被使用.相应的来自扩展模版xlightFTPdUser的属性ftpHomeDirectory将被用来设置这个用户的主目录.

注意: 如果用户的主目录在登录时不存在, 用户第一次登录时, Xlight FTP将自动创建这个目录.

在使用这个选项之前, 扩展模版xlightFTPdUser必须在LDAP服务器内被安装. 我们使用Novell公司的eDirectory LDAP服务器来演示安装扩展模版xlightFTPdUser的步骤


安装扩展模版xlightFTPdUser, 你需要打开Novell公司的ConsoleOne程序,在NDS Import/Export Wizard中选择import LDIF file如下图所示:


选择文件eDirectory-xlightFTPdUser.ldif, 这个文件是用于eDirectory的LDIF文件, 它可以在Xlight FTP服务器安装目录下的ldap目录内找到. 导入扩展模版xlightFTPdUser后, 你应该能够在Schema Manager窗口内看到它, xlightFTPdUser 显示在最后一个Object Class如下图所示:


使用扩展模版xlightFTPdUser, 你可以选择一个用户,然后选择菜单选项"Extensions of this object", 如下图所示:


点击按键"Add Extensions...". 在对话框内, 选择xlightFTPdUser然后点击OK键,如下图所示:


在下面显示的对话框内, 填入"FTP properties"作为名字并点击OK键. 你也可以使用其他名字.


模版xlightFTPdUser将出现在"current auxiliary class extensions"内,如下图所示:


选择用户的属性(properties). 在Other Edit标签, 你可以点击"Add..."键添加Xlight FTP服务器用户相关的属性. 这些属性以"ftp"开头. 你只需要添加你需要使用的属性. 然而如果你添加了属性ftpHomeDirectory, 你必须同时添加属性ftpHomePerm用来控制ftpHomeDirectory的用户权限.. 你可以更改这些属性的值,如下图所示:


到这一步你应该能够使用扩展模版xlightFTPdUser来为用户设置Xlight FTP服务器相关的选项.

设置FTP用户的虚拟目录

从Xlight FTP服务器版本3.5开始, 你可以通过使用扩展模版xlightFTPdUser的属性ftpVirtualPaths来为用户设置多个虚拟目录. ftpVirtualPaths字符串是"|"分割的虚拟目录,实际目录和权限的结合. 它的格式是: "虚拟目录 | 实际目录 | 权限". 例如,一个虚拟目录可以是 "/files/ | C:\Downloads\ | RLS----", 其中 "/files/" 是虚拟目录, "C:\Downloads\" 是映射到"/files/"的实际目录, "R--L--S"是"/files/"的权限标记. 虚拟目录, 实际目录和权限用"|"符号分割. 对于权限标记的含义,你可以参考"ftpHomePerm"的描述. 注意: 虚拟目录必须是UNIX形式的目录,实际目录必须是Windows形式的目录.
参数%username%可以用于real path. %username%将会被替换成实际登录的用户名. 如果用户登录时real path不存在, Xlight FTP服务器将会自动创建目录.