將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服務器將會自動創建目錄.