ubuntu 配置 vsftpd 伺服器
一、安裝 vsftpd
sudo apt-get update
sudo apt-get install vsftpd
二、配置 vsftpd
編輯vsftpd的配置檔案
sudo vim /etc/vsftpd.conf
注意下面的有些選項在預設的配置檔案中是沒有的,需要自己手動添加這些選項。有些選項隻需要uncomment掉就行了。
#允許任何形式的 ftp write command
write_enable=YES
#允許匿名使用者登入FTP
anonymous_enable=YES
#設定匿名使用者的登入目錄(如需要,需自己添加并修改)
anon_root=/var/ftp
#打開匿名使用者的上傳權限
anon_upload_enable=YES
#打開匿名使用者建立目錄的權限
anon_mkdir_write_enable=YES
#打開匿名使用者删除和重命名的權限(如需要,需自己添加)
anon_other_write_enable=YES
#匿名使用者的掩碼(如需要,需自己添加,含義:如umask是022,這時建立一個權限為666的檔案,檔案的實際權限為666-022=644)
anon_umask=
但是目前
/var/ftp
這個目錄還不存在,需要我們自己手動建立一個
sudo mkdir -p /var/ftp
sudo chown ftp /var/ftp #把該目錄的 owner 改為 ftp 這個 user
sudo chgrp ftp /var/ftp #把該目錄的 group owner 改為 ftp
這個時候匿名登入 ftp 是能夠成功的,但是伺服器會報錯
**500 OOPS: vsftpd: refusing to run with writable root inside chroot()**.
根據報錯資訊,我們需要把
/var/ftp
這個目錄的寫權限給去掉
chmod a-w /var/ftp
但是這樣使用者在
/var/ftp
目錄下就無法上傳檔案了,解決方法是在
/var/ftp
目錄下再建一個
upload
檔案夾,把這個檔案夾的權限設定為
777
, 這樣匿名使用者就可以在
upload
檔案夾下任意的上傳、修改、删除檔案了。