centos vsftpd 顯示500 OOPS: could not read chroot() list file:/etc/chroot_list

我們在使用linux  中的vsftpd   鏈接時,如果出現  centos vsftpd 顯示500 OOPS: could not read chroot() list file:/etc/chroot_list


這樣的情況,是因爲我們沒有配置好 vsftpd  的相關權限。

通常我們會在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 #   簡單點來說,這個文件就是爲了我們上面組合而存在的,如果我們禁用名單開啓。就是開出一個額外的附屬情況給一些賬號,讓他們做出例外的特權。


 就如同上圖這樣。

讓我們舉個例子:

假設有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名單列表爲:
ftp1

解釋:chroot_local_user=NO則所有用戶不被限定在主目錄內,chroot_list_enable=YES表示要啓用chroot_list_file, 因爲chroot_local_user=NO,即全體用戶都“不被限定在主目錄內”,所以總是作爲“例外列表”的chroot_list_file這時列出的是那些“會被限制在主目錄下”的用戶。


其他情況:


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


chroot_local_user=YES
chroot_list_enable=NO

chroot_local_user=NO
chroot_list_enable=NO

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

補充:

  • 關於chroot_local_user的設置,通常我們傾向於:全局禁止跳出主目錄,使用chroot_list添加例外!即:使用Case 1的設置!
  • 匿名用戶默認的root是/var/ftp

原文:http://blog.csdn.net/bluishglc/article/details/42398811


發佈了50 篇原創文章 · 獲贊 36 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章