vsftpd匿名用戶只能上傳不能下載


目的

搭建一台FTP服務器,供學生上傳作業使用。

要求

1.學生可以直接訪問FTP服務器,無需登錄;

2.只能上傳文件,不能創建文件夾、重命名、刪除等;

3.不能下載文件(防抄襲);

4.不能在線查看文件。

配置
# 創建upload目錄
mkdir /var/ftp/upload
# 改變屬主
chown ftp /var/ftp/upload

# 用以下內容替換/etc/vsftpd/vsftpd.conf文件原來的內容
listen=YES
write_enable=YES
anon_upload_enable=YES
 
# 重啟vsftpd服務
service vsftpd restart
原理解釋

第一個要求是通過anonymous_enable=YES參數實現的,即允許匿名用戶登錄,因為這個參數的值默認就是YES,所以可以不寫入配置文件。

第二個要求是通過anon_upload_enable=YES、anon_mkdir_write_enable=NO、anon_other_write_enable=NO這三個參數實現,即允許匿名用戶上傳,不允許匿名用戶創建目錄和其他寫入權限(刪除和重命名),因為anon_mkdir_write_enable和anon_other_write_enable這兩個參數默認值都是NO,所以也可以不寫入配置文件。

第三個要求是通過anon_world_readable_only=YES、anon_umask=077這兩個參數實現的,具體原理可以參見我的另外一篇博客:anon_world_readable_only的作用。

第四個要求是針對txt文檔而言,如果學生上傳的作業不是以txt文檔保存的話就不需要配置了,當然,你可以利用file_open_mode=0000來控制上傳文件的權限,這樣就算是txt文件,也無法在線查看了。

注:anon_world_readable_only的作用

   linux文件權限分成“屬主”、“屬組”和“其他人”這三種,如果“其他人”沒有可讀權限,那anon_world_readable_only這個參數就起效了,對於目錄來說,如果“其他人”沒有可讀權限,且anon_world_readable_only=YES,則匿名用戶無法瀏覽該目錄下的所有內容(看上去像個空目錄),而對於文件來說,如果“其他人”沒有可讀權限,且anon_world_readable_only=YES,則匿名用戶無法下載該文件。 

注:就算文件的“屬主”是匿名用戶(ftp),而“其他人”沒有可讀權限,也一樣有效。

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: