主页 回到教程 在线帮助

将Xlight FTP服务器与微软的活动目录(Active Directory)整合使用

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

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


当你在服务器上打开活动目录设置对话框时, 如果你的服务器已经加入活动目录域, Xlight FTP服务器将会自动检测你的登录域和搜索用户的起始DN. 如果你没有看到这些信息, 你必须手工配置登录域和搜索用户的起始DN.


如果你想只用活动目录检查用户名和密码, 你可以选择选项"只检查用户名和密码". 如果你不选择这个选项, 活动目录里的user object class的另一个属性 homeDirectory 也会被检查和使用.

在活动目录中设置用户的主目录

你可以使用微软的Active Directory用户和计算机控制台界面来设置用户的主目录, 如下图所示. 活动目录属性homeDirectory 将会被用做FTP用户的主目录.

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


在用户主目录使用NTFS权限

当选项"在用户主目录使用NTFS权限"被选中后, Xlight FTP服务器将模拟登录FTP用户的活动目录账户. 他的主目录访问将受到这个用户NTFS权限的限制. 如果这个选项没有被选中,Xlight FTP服务器的系统账户或当前登录账户将被用来访问所有用户的主目录.

当选项"在用户主目录使用NTFS权限"被选中, 但是用户不能访问他的主目录, 关于NTFS权限你需要检查两件事情:

1. 如果用户能够成功通过活动目录认证, 但在FTP日志, 你看到日志如 "450 不能改变目录到 /.". 这非常可能是NTFS权限的问题. 你需要检查帐户是否有访问这个目录的权限. 如果主目录是位于另一台机器上的UNC路径, 从这台机器的主控桌面, 你应该能够通过按"Alt+Ctl+Del"键用这个帐户登录. 从主控桌面, 检查是否他有足够的权限访问设置的主目录.

2. 你不应该将用户的主目录放在域控制器. 微软的域安全策略不允许普通用户访问在域服务器上的资源. 尽管这个用户能够成功登录到AD域, 他将不能访问位于域服务器上的主目录. 只有具有系统管理员权限的只有帐户才能访问域控制器上的主目录.

兼容IIS FTP活动目录用户隔离模式

Xlight FTP服务器提供了一个和IIS FTP服务器 6.0引入的活动目录用户隔离模式兼容的方式. 你可以选择选项"兼容IIS FTP活动目录用户隔离模式". 当这个选项被选中后, Xlight FTP服务器将会读取并使用IIS FTP 活动目录的属性 msIIS-FTPRootmsIIS-FTPDir, 用它作为用户的主目录. 如果这两个IIS FTP的属性在活动目录里没有被设置或不存在, 活动目录属性homeDirectory 将会自动被用做主目录.

设置虚拟服务器的公共目录

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


因为用户在AD里的主目录隐含使用"/"作为用户的虚拟目录, 你不应该使用"/"作为公共虚拟目录. 否则因为"/"是重复的, 当AD用户登录后, 他只能看到公共目录里的内容, 而不是他的主目录. 在上面的图里, 我们使用"/public"作为公共虚拟目录.

在公共目录使用NTFS权限

当选项"在公共目录使用NTFS权限"被选中, Xlight FTP服务器将模拟用户的AD(活动目录)账户. 公共目录访问将检查每个AD用户的NTFS权限. 基于NTFS权限给予公共目录更多的权限控制灵活性,它将取代公共目录的本地FTP权限. 然而模拟用户的AD(活动目录)账户在某些罕见的情况下可能会失败. 如果模拟用户失败, 公共目录的本地FTP权限将被使用. 因此如果你使用NTFS权限控制公共目录的访问, 你依然需要为公共目录设置恰当的(最少的)本地FTP权限用于模拟AD用户失败的情况.

在用户组使用NTFS权限

当选项"在组目录使用NTFS权限"被选中, Xlight FTP服务器将模拟用户的AD(活动目录)账户. 组目录访问将检查每个AD用户的NTFS权限. 当用户登录到活动目录, 如果这个用户在AD里被设置了Primary组, 它将成为这个用户的FTP组. 在本地Xlight FTP服务器, 用户组被创建后, 你可以设置组目录.

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

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

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


如何在活动目录内安装扩展模版xlightFTPdUser

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

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

在使用这个选项之前, 扩展模版xlightFTPdUser必须在活动目录内被安装. 这个安装步骤在下面.


安装扩展模版xlightFTPdUser, 你首先需要打开文件AD-xlightFTPdUser.ldif替换用你的域替换所有DC=X如下图所示. 文件AD-xlightFTPdUser.ldif可以在Xlight FTP服务器安装目录下的ldap目录内找到.


保存文件AD-xlightFTPdUser.ldif. 你可以使用工具ldifde.exe导入模版xlightFTPdUser到活动目录,如下图所示. 你必需作为域管理员登录才能有权限执行下面命令.


如果上面的导入命令执行成功, 你可以用MMC来检查模版xlightFTPdUser是否被成功导入如下图所示:


在MMC Snap-in, 选择Active Directory Schema,点击"Add"键后再点击"Close"键,如下图所示:


在下面的窗口如果你能够看到类型是Auxiliary的object class xlightFTPdUser, 模版xlightFTPdUser 就已经被成功导入.


你可以使用ADSI Edit在活动目录内修改和Xlight FTP服务器相关的用户属性. ADSI Edit可以在Windows Support Tools 的产品CD中找到,也可以从微软的网站下载. 从 MMC Snap-in 窗口, 添加 ADSI Edit 如下图所示:


ADSI Edit连接到你的活动目录. 选择CN=Users, 你可以在右面的窗口发现你的用户. 选择你准备设置Xlight FTP 服务器相关参数的用户,如下图所示:


按鼠标右键; 点击右键菜单选项"Properties". 从对话框里, 选择并编辑Xlight FTP 服务器相关属性如下图所示. 这些属性以"ftp"开头. 你只需要修改你需要使用的属性. 然而如果你使用属性ftpHomeDirectory, 当"在用户主目录使用NTFS权限的选项"没有被选择时, 你需要同时修改属性ftpHomePerm用来控制ftpHomeDirectory的用户权限.


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