FTP---chroot_local_user與chroot_list_enable詳解

 

  • chroot_local_user #是否將全部用戶限制在主目錄,YES爲啓用 NO禁用.(該項默認值是NO,即在安裝vsftpd後不作配置的話,ftp用戶是能夠向上切換到要目錄以外的)
  • chroot_list_enable #是否啓動限制用戶的名單 YES爲啓用  NO禁用(包括註釋掉也爲禁用)
  • chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目錄下的用戶名單,至因而限制名單仍是排除名單,這取決於chroot_local_user的值,咱們能夠這樣記憶: chroot_local_user老是一個全局性的設定,其爲YES時,所有用戶被鎖定於主目錄,其爲NO時,所有用戶不被鎖定於主目錄。那麼咱們勢必須要在全局設定下能作出一些「微調」,即,咱們老是須要一種「例外機制",因此當chroot_list_enable=YES時,表示咱們「須要例外」。而」例外「的含義老是有一個上下文的,即,當」所有用戶被鎖定於主目錄「時(即chroot_local_user=YES),"例外"就是:不被鎖定的用戶是哪些;當"所有用戶不被鎖定於主目錄"時(即chroot_local_user=NO),"例外"「就是:要被鎖定的用戶是哪些。這樣解釋和記憶二者之間的關係就很清晰了!

 對於chroot_local_user與chroot_list_enable的組合效果,能夠參考下表:spa

 

 
  chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 1.全部用戶都被限制在其主目錄下 2.使用chroot_list_file指定的用戶列表,這些用戶做爲「例外」,不受限制 1.全部用戶都不被限制其主目錄下 2.使用chroot_list_file指定的用戶列表,這些用戶做爲「例外」,受到限制
chroot_list_enable=NO 1.全部用戶都被限制在其主目錄下 2.不使用chroot_list_file指定的用戶列表,沒有任何「例外」用戶 1.全部用戶都不被限制其主目錄下 2.不使用chroot_list_file指定的用戶列表,沒有任何「例外」用戶


讓咱們舉個例子:ci

 

假設有ftp1, ftp2兩個ftp用戶, 計劃讓ftp1用戶鎖定在主目錄下,不容許切換到其餘目錄, 可是容許ftp2用戶自由切換目錄,則能夠分以下兩種方式實現:

方式一:

令:
chroot_local_user=YES
chroot_list_enable=YES
/etc/vsftpd/chroot_list名單列表爲:
ftp2
 
解釋:chroot_local_user=YES將全部用戶限定在主目錄內,chroot_list_enable=YES表示要啓用chroot_list_file, 由於chroot_local_user=YES,即全體用戶都被「限定在主目錄內」,因此老是做爲「例外列表」的chroot_list_file這時列出的是那些「不會被限制在主目錄下」的用戶。
 
方式二:

令:
chroot_local_user=NO
chroot_list_enable=YES
/etc/vsftpd/chroot_list名單列表爲:
ftp1table

解釋:chroot_local_user=NO則全部用戶不被限定在主目錄內,chroot_list_enable=YES表示要啓用chroot_list_file, 由於chroot_local_user=NO,即全體用戶都「不被限定在主目錄內」,因此老是做爲「例外列表」的chroot_list_file這時列出的是那些「會被限制在主目錄下」的用戶。ftp

 

其餘狀況:配置

 

對於chroot_local_user和chroot_list_enable的組合還有這樣兩種狀況:file


chroot_local_user=YES
chroot_list_enable=NO

chroot_local_user=NO
chroot_list_enable=NO

當chroot_list_enable=NO時,就再也不啓用chroot_list_file,此時就是單純的把所有用戶限定或不限定在主目錄下了!
 註釋

補充:tab

  • 關於chroot_local_user的設置,一般咱們傾向於:全局禁止跳出主目錄,使用chroot_list添加例外!即:使用Case 1的設置!
  • 匿名用戶默認的root是/var/ftp
相關文章
相關標籤/搜索