將Xlight FTP服務器與微軟的活動目錄(Active Directory)整合使用
Xlight FTP服務器可以和微軟的活動目錄(Active Directory)整合,用來鑒權用戶. 用戶可以用相同的用戶名,密碼訪問FTP服務器,電子郵件服務器等等. 注意: 30-天試用期後, 只有專業版本的Xlight FTP服務器支持這個功能.
如果使用活動目錄(Active Directory)為外部用戶鑒權, 你需要到 [虛擬服務器設置]->[通用]->[虛擬服務器], 選擇選項"啟用外部用戶鑒權" . 單擊"設置..."鍵, 在虛擬服務器的"鑒權類型"中活動目錄必須被選擇,如下圖所示:
當你在服務器上打開活動目錄設置對話框時, 如果你的服務器已經加入活動目錄域, Xlight FTP服務器將會自動檢測你的登錄域和搜索用戶的起始DN. 如果你沒有看到這些信息, 你必須手工配置登錄域和搜索用戶的起始DN.
如果你想只用活動目錄檢查用戶名和密碼, 你可以選擇選項"只檢查用戶名和密碼". 如果你不選擇這個選項, 活動目錄裡的user object class的另一個屬性 homeDirectory 也會被檢查和使用.
設置默認的用戶設置
如果你不想使用AD的屬性homeDirectory作為用戶的FTP主目錄, 或者有太多AD用戶,你不想為他們每個單獨設置主目錄. 你可以使用默認的用戶設置來設置用戶主目錄. 這個鏈接有關於設置用戶默認設置的詳細說明.
在活動目錄中設置用戶的主目錄
你可以使用微軟的Active Directory用戶和計算機控制台界面來設置用戶的主目錄, 如下圖所示. 活動目錄屬性homeDirectory 將會被用做FTP用戶的主目錄.
注意: 如果用戶的主目錄在登錄時不存在, 用戶第一次登錄時, Xlight FTP將自動創建這個目錄.
在用戶組使用NTFS權限
當選項"在組目錄使用NTFS權限"被選中, Xlight FTP服務器將模擬用戶的AD(活動目錄)賬戶. 本地FTP組目錄的訪問將使用AD用戶的NTFS權限. 在本地Xlight FTP服務器, 用戶組被創建後, 你可以設置組目錄.
映射用戶的活動目錄組到本地FTP組
當用戶登錄到活動目錄, 列在這個用戶memberOf屬性裏(memberOf屬性列出用戶是成員的組)的和本地FTP組相匹配的第一個組將成為這個用戶的FTP組. 從Xlight版本3.8.6開始, 當匹配本地FTP組名時, 用戶的Primary Group將會首先被匹配. 因此當一個用戶有多個AD組合本地FTP組重名時,你可以設置用戶的primary group為你想要使用的,和本地FTP組同名的AD組.
- AD用戶的Primary Group的默認組是"Domain Users",Primary Group只是為通過Macintosh或者UNIX下POSIX兼容應用程序登錄AD域的用戶使用的一個選項,通常情況下沒有使用.
當選項"在用戶主目錄使用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-FTPRoot和msIIS-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(活動目錄)賬戶. 本地FTP組目錄的訪問將使用AD用戶的NTFS權限. 在本地Xlight FTP服務器, 用戶組被創建後, 你可以設置組目錄.
映射用戶的活動目錄組到本地FTP組
當用戶登錄到活動目錄, 列在這個用戶memberOf屬性裏(memberOf屬性列出用戶是成員的組)的和本地FTP組相匹配的第一個組將成為這個用戶的FTP組. 從Xlight版本3.8.6開始, 當匹配本地FTP組名時, 用戶的Primary Group將會首先被匹配. 因此當一個用戶有多個AD組和本地FTP組重名時,你可以設置用戶的Primary Group為你想要使用的,和本地FTP組同名的AD組.
- AD用戶的Primary Group的默認組是"Domain Users",Primary Group只是為通過Macintosh或者UNIX下POSIX兼容應用程序登錄AD域的用戶使用的一個選項,通常情況下Primary Group沒有被使用.
設置LDAP Filter限制用戶搜索的範圍
你可以創建額外的LDAP filter以限制用戶搜索的範圍, filter 必須是用戶的LDAP屬性. 例如, 如果你想限制屬於Users組的用戶登錄, 你可以使用AD裏面的memberOf屬性並設置LDAP搜索filter為memberOf=CN=Users,CN=Builtin,DC=ad-test-domain,DC=com
創建並允許匿名用戶訪問FTP服務器
當用戶使用活動目錄鑒權時, 你可能希望允許使用任意密碼的匿名用戶訪問FTP服務器. 因為在活動目錄內的用戶必須使用密碼, 匿名用戶不能創建在活動目錄內.
不過你可以在本地創建一個用戶名是"anonymous"的匿名用戶,並在他的設置([用戶設置]->[賬號]->[外部鑒權選項])中選擇選項"忽略外部用戶鑒權", 如下圖所示. 這個本地的FTP用戶將會忽略外部用戶鑒權,而使用本地FTP鑒權. 他的設置也將來自本地FTP服務器.
查找活動目錄的問題
如果你在Xlight FTP服務器與微軟的活動目錄整合時遇到問題, 你可以選擇外部用戶認證的選項"在錯誤日誌顯示調試跟蹤信息". 這個選項被選中後, Xlight FTP服務器的活動目錄信息將會被寫到錯誤日誌.
這裏有兩個和活動目錄相關的常見設置錯誤.
1. 普通用戶的主目錄被設置到位於域控制器的機器上的目錄. 因為微軟的域安全策略不允許普通用戶登錄域控制器並訪問在域控制器上的資源. 盡管這個用戶能夠成功登錄AD, 登錄後他不能訪問他的主目錄. 如果你想在域控制器上訪問用戶目錄, 鏈接http://technet.microsoft.com/zh-cn/library/cc785165(WS.10).aspx 提供了步驟更改微軟默認的域安全策略.
2. 當在較舊的Windows系統上運行Xlight FTP服務器, 例如Windows 2000, 運行Xlight程序的賬戶必須有"Act As Part Of The Operating System" (SE_TCB_NAME) 權限. 否則活動目錄的用戶將不能訪問他的主目錄. (SE_TCB_NAME) 權限能夠在Local Security Policy的mmc snap-in界面在LocalPolicies/User Righs Assignments下設置. 這個問題是Windows XP之前的操作系統限制導致的. 因此對於和包括Windows XP之後的操作系統, 不需要為運行Xlight 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服務器相關的選項.
設置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服務器將會自動創建目錄.