vsftpd鎖定用戶目錄[ubuntu, ftp server, vsftpd.conf]


在使用VSFTP管理FTP SERVER服務器時, 為了方便用戶的上傳下載指定的資料, 需要對用戶的目錄進行指定, 也就是說只能讓用戶訪問指定的目錄, 不能訪問之外的其他目錄. 這個需要在VSFTPD配置文件進行相應的設置, 一般來說, 默認的是每個用戶只能訪問/home/username目錄下的文件, 但是作為服務器來講, 把網站文件存到各自的目錄下有點不現實, 比如說TOM和JACK兩個用戶同時具有訪問某一個指定的目錄,比如說網站的根目錄/var/www/, 這樣的話, VSFTPD的默認的配置文件就無法實現這樣的功能了, 而這個功能又是在網站的文件管理過程中又非常實用. 下面我們就着手進行這方面的配置, 為方便突出重點, 我們只討論有關這個需求的幾個參數, 其他的參數選項可參考這篇文章;

要達到此項需求, 主要用到chroot_local_user,chroot_list_enable, local_root, vsftp.chroot.list,這幾個參數,  其中在UBUNTU系統中, 參數local_root需要手動在配置文件(vsftp.conf)中添加,vsftpd.chroot_list需要在/etc添加新文件(mkdir /etc/vsftpd.chroot_list)(針對ubuntu版本). 

 基於chroot_local_user,chroot_list_enable這兩項決定着它的整個功能的實現, 其參數值是YES,NO, 根據排列組合原理可以得出4種不同的設置方法, 它們共同決定着vsftpd.chroot_list中定義的用戶的訪問權限及是否漂移(也就是能否訪問指定目錄外的其他文件), 這里又分兩種情況, 第一種情況是在vsftpd.chroot_list定義的用戶(list用戶), 第二種是vsftpd.chroot_list(簡稱非list)

下面是四種情況這兩用戶組的訪問情況(再次說明, 默認其他的vsftpd.conf參數已經設置完成的情況)

第一種情況:

chroot_local_user=YES

chroot_list_enable=YES

效果: list用戶組漂移, 非list用戶組固定

第二種情況:

chroot_local_user=YES

chroot_list_enable=NO

效果: list用戶組固定, 非list用戶組固定

 第三種情況:

chroot_local_user=NO

chroot_list_enable=NO

效果: list用戶組漂移, 非list用戶組漂移

第四種情況:

chroot_local_user=NO

chroot_list_enable=YES

效果: list用戶組固定, 非list用戶組漂移

根據以上四種情況來選擇需要的模式, 對於大多數朋友來說, 可能第四種的用法比較廣泛一些, 就我的用戶需求來看, 我選擇第二種情況, 所有的用戶訪問權限都固定在同一個目錄下, 這個目錄是由local_root屬性值來確定的. 這個值的定義要用絕對路徑來定義, 如下例:

local_root=/var/www

就我的情況來說, 所有的用戶都能訪問到這個目錄, 但是還有一點需要說明的是, 雖然這樣, 由於vsftpd對於安全性的要求比較高一些, 所以你所設置這個主目錄不能有寫權限, 否則會出現如下的錯誤提示:

500 OOPS: vsftpd: refusing to run with writable root inside chroot

它出現的原因及解決方法請參考:http://www.cnblogs.com/wwufengg/archive/2012/10/29/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot.html

轉載請注明本文出處: http://www.cnblogs.com/wwufengg/archive/2012/10/30/vsftpd-config-user.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM