2019.2.18更新
證實可用!!!
原文:
這兩天測試在Ubuntu18.04上搭建一個ftp服務器,搜了一下大家都在用vsftpd,於是根據這個大佬的基礎教程搭了一個,搭完一切正常,在windows資源管理器上可以登錄,可以新建文件夾和文件,也可以用filezilla客戶端上傳文件,一切完美。
當然如果一切完美也不用記錄這篇文章了,后面用一台設備測試接收文件,結果被打臉,文件傳不上來,vsftpd的log中顯示如下
[ftpuser] FAIL MKDIR: Client "::ffff:10.87.1.118", "/dear_wang_1234_20190124_151733"
再看我用filezilla新建文件夾時,日志是這樣的:
[ftpuser] OK MKDIR: Client "::ffff:10.87.2.46", "/home/ftp/asdf"
感覺不對,因為我為ftpuser這個用戶指定了文件夾,所以我用filezilla登錄后進入到默認指定的文件夾,於是上傳等一切操作都是在指定文件夾下,而設備用這個用戶登錄時應該和filezilla不一樣,看上去跳出了為用戶限定的目錄,於是繼續搜資料,說只指定是不行的,還要在配置文件(/etc/vsftpd.conf)中把chroot_local_user設置成YES才是把用戶限定在指定目錄下,於是改成YES,但是改完后上傳不了文件了,日志中記錄如下錯誤:
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
那只能繼續搜啊,於是搜到這個大佬的文章,說是新版本更新后增加了安全性,用戶不能在主目錄下寫文件了,如果非要寫,需要加一個選項:
allow_writeable_chroot=YES
這樣才行,於是加之,用代碼測試后發現可行,再創建文件夾時不再是完整路徑了,而是和設備上傳時一樣了,不知道后面設備能不能上傳,因為現在沒有設備可測,現在先記錄一下,希望有用- -,后面測試后再更新。