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用戶,你不想為他們每個單獨設置主目錄. 你可以使用默認的用戶設置來設置用戶主目錄. 這個鏈接有關於設置用戶默認設置的詳細說明.
大多數LDAP服務器使用inetOrgPerson作為屬性uid的類. 但是有些LDAP服務器使用"user", "posixAccount"或"organizationalPerson"作為屬性uid的類. 對這些LDAP服務器,你需要選擇這個選項,否則用戶認證會失敗.
當用戶主目錄是UNC路徑時, 默認Xlight FTP服務器會使用運行服務器的賬戶訪問這個UNC路徑. 例如,如果Xlight FTP服務器作為系統服務運行,通常這個賬戶時本地系統賬戶. 但如果選項"使用用戶身份模擬訪問他主目錄裡的UNC路徑"被選中, 將會使用登錄用戶訪問UNC路徑. 因此,登錄用戶必須有訪問UNC路徑的NTFS權限.
你可以設置虛擬服務器的公共目錄. 用戶鑒權後, 所有用戶都能夠看到並從公共目錄下載, 如下圖所示:
當用戶使用LDAP鑒權時, 你可能希望允許使用任意密碼的匿名用戶訪問FTP服務器. 因為在LDAP服務器內的用戶必須使用密碼, 匿名用戶不能創建在LDAP服務器內.
不過你可以在本地創建一個用戶名是"anonymous"的匿名用戶,並在他的設置([用戶設置]->[賬號]->[外部鑒權選項])中選擇選項"忽略外部用戶鑒權", 如下圖所示. 這個本地的FTP用戶將會忽略外部用戶鑒權,而使用本地FTP鑒權. 他的設置也將來自本地FTP服務器.
這裡還有另外一個選項"使用擴展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服務器相關的選項.
從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服務器將會自動創建目錄.