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

目的linux

搭建一臺FTP服務器,供學生上傳做業使用。bash

要求服務器

1.學生能夠直接訪問FTP服務器,無需登陸;spa

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

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

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,因此能夠不寫入配置文件。it

第二個要求是經過anon_upload_enable=YES、anon_mkdir_write_enable=NO、anon_other_write_enable=NO這三個參數實現,即容許匿名用戶上傳,不容許匿名用戶建立目錄和其餘寫入權限(刪除和重命名),由於anon_mkdir_write_enable和anon_other_write_enable這兩個參數默認值都是NO,因此也能夠不寫入配置文件。io

第三個要求是經過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),而「其餘人」沒有可讀權限,也同樣有效。

相關文章
相關標籤/搜索