這樣的情況,是因爲我們沒有配置好 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