配置vsftpd服務器中chroot,不許用戶切換目錄
在vsftpd服務器的默認設置中,本地用戶可以切換到主目錄以外的目錄進行瀏覽訪問,這樣對於服務器來說是不×××全的,因爲任何用戶可以隨時瀏覽到別的用戶的私有信息,下面介紹如何使用chroot選項來防止這種情況的發生。
與該功能相關的選項主要包括:
chroot_local_user
chroot_list_enable
chroot_list_file
可以通過如下兩種方法來設置chroot,從而杜絕上述不安全的情況發生:
(1)設置所有的本地用戶執行chroot,只要將/etc/vsftpd/vsftpd.con文件中的chroot_local_ user值置爲YES,即chroot_local_user=YES。
(2)設置指定的用戶執行chroot,按照如下方法進行設置:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
設置後,只有/etc/vsftpd.chroot_list文件中指定的用戶才能夠執行chroot命令。
配置完後重啓服務: service vsftpd restart
實驗:
FTP配置文件vsftpd.conf關於限制用戶在默認目錄的配置,涉及到三個字段:chroot_local_user,chroot_list_enable,chroot_list_file。
首先,即chroot_local_user=yes。此時,用戶登錄之後,執行目錄跳轉命令,如cd /home,顯示550 Failed to change directory。你可以試試其他的賬號,應該都是一樣的結果,無法跳轉目錄。
當:chroot_list_enable=yes
chroot_list_file=/路徑/vsftpd.chroot_list,這裏的路徑你可以自己指定,之後你要到指定的路徑下面創建vsftpd.chroot_list文件。
上面兩個設置的意思是,第一個說明chroot_list這個列表有用,第二個是指明列表的位置。那接着說這個列表的作用,也就是這個vsftpd.chroot_list的作用吧。
做個試驗,1.創建兩個用戶賬號,A 和 B;2.在上面配置指定的路徑下面創建vsftpd.chroot_list文件,將 A 賬號寫入文件。
3.用 A 登錄,然後執行目錄跳轉命令,發現可以成功跳轉;用 B 登錄,同樣執行目錄跳轉命令,發現跳轉失敗。
接下來我們從另外一方面看,如果註釋掉chroot_local_user=yes,再做上面的實驗,結果剛好相反,A不能隨意跳轉,而 B 可以隨意跳轉。
結論: 1 當chroot_local_user=YES、chroot_list_enable=YES時,vsftpd.chroot_list中用戶爲非鎖定用戶,他們可以訪問任何其他目錄。
2 當chroot_local_user=NO、chroot_list_enable=YES時,vsftpd.chroot_list中用戶爲鎖定用戶,即他們除了自己的目錄,不可以訪問其他目錄。