最近突然想弄個小網站,雖然可以把代碼直接複制或者放到雲伺服器上,但是覺得還是配置一下ftp比較好,于是就選擇vsftpd。什麼是vsftpd,可以參考一下鳥哥的教程:http://www.huzs.net/?p=1213#server
因為是新手,上網查了大概好多配置方案和方法,包括vsftpd.conf等配置,但是都覺得和自己的情況很不一樣,導緻折騰了很久,是以最後決定總結一下,由于是菜鳥,若有錯誤之處請多多指教!
1、首先,我們要下載下傳一下指令是:
sudo apt-get install vsftpd
一般這一步都ok的
2、配置vsftpd第一步允許上傳
在操作前,我們可以cp vsftpd.conf vsftpd.conf.org 這樣已作為備份
如圖1:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1zaYpVd5ckWwkzRiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN4AjNzgTMyEDMzEDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
這一步也是最關鍵的一步,因為從網上看到有騰訊雲的伺服器,阿裡雲的還有aws的,都差不多,但是都有些差別,既然用到了vsftpd,我們就在設定一個如下場景:不允許匿名登入,允許使用者登入,主動被動都可以,允許使用者上傳和下載下傳。
listen=NO
listen_ipv6=YES
禁止匿名
anonymous_enable=NO
local_enable=YES
允許上傳
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
chown_uploads=YES
ascii_upload_enable=YES
ascii_download_enable=YES
将這些前面的#都去掉之後,并且改成上述模樣基本就ok了
2、配置vsftpd第二步限制使用者登入
很多時候到這便就不太明白了,這個使用者什麼的弄的很複雜,其實比較好了解:
1、建立使用者上傳檔案夾和使用者
這個時候我先儲存一下配置檔案并退出(按esc 然後: wq!)
useradd -d /home/yuan yuan
建立了一個yuan的使用者,并且ftp通路時在/home/yuan下面
設定密碼passwd yuan
2、更改使用者目錄為主目錄
usermod -d /home/yuan yuan
3、之後有一步是關于shell的
vi /etc/shells
将/usr/sbin/nologin加在後面
如圖2:
3、明白使用者管理的表
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
解了這3行的注釋,我們看到有指定一個使用者清單“vsftpd.chroot_list”,要自己建立。 如圖1:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1zaYpVd5ckWwkzRiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN4AjNzgTMyEDMzEDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
如果是兩個YES(就上面那樣),那麼是指,限制所有使用者,開放(清單中)特定,限制一切使用者,隻解禁 /etc/vsftpd.chroot_list 的使用者,也即是隻有這個清單中的使用者可以通路所有檔案,不在清單的隻能通路指定目錄。反正如此
vi /etc/vsftpd.chroot_list
配置檔案修改如下:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
最後加一個這個設定通路檔案夾
local_root=/home/yuan
4、重新開機vsftpd
service vsftpd restart
service vsftpd stauts //檢視狀态的,running代表在運作
現在系統登入試一下:
如圖3:
5、我使用的是filezilla,用flashfxp也可以
如圖4:
至此全部ok
若是關于使用者設計有疑問的可以去看看其他文章,我可能講的不太明白