ubuntu server vsftpd 匿名用戶上傳下載及目錄設置
1:vsftpd服務器安裝;
sudo apt-get install vsftpd #安裝 cd /srv/ #切換到默認匿名用戶ftp目錄;
運行 ls -l 我們可以看到 默認的 ftp目錄是,虛擬用戶ftp的根目錄,並且此目錄是匿名用戶管理的根目錄,
無論是對 ftp,改組,改用戶,改權限都不能在ftp根目錄下,上傳東西,要么就是ftp匿名無法連接,要么就是不能上傳;折騰了幾天,終於明白了!
ftp 作為匿名用戶根目錄,vsftpd有特殊處理;
vsftpd對此 ftp 根目錄,有兩點特殊要求;該用戶所有者必須是root,該目錄的權限對其他不能為 w;
也就是說其他人,匿名用戶來說 ftp 目錄是根目錄,只能是只讀的,不能上傳,不能更改;如下官方解釋
1.匿名用戶就是ftp,想要匿名用戶寫入,必須文件夾的權限為ftp可寫。
2.匿名用戶的根目錄不允許寫,所以根目錄的權限絕對不能是ftp可寫和其他用戶可寫,如果根目錄所有者為ftp的話,所有者的權限也不能寫。
所以解決方法是建個單獨的public文件夾用於上傳文件,設置其為ftp可寫或”其他用戶可寫“
還可建個download文件夾只用於下載,設置其他用戶沒有寫權限便可。
那么我們如果設置匿名用戶上傳,下載,新建目錄呢,
就是在 ftp目錄下,新建立一個目錄,並且,設置其權限 777,就可以了,還要加上配置 vsftpd.conf 文件
二:配置匿名用戶上傳下載;
1: 先創建匿名用戶可發布的文件目錄
cd /srv/ftp/ 切換到根目錄 sudo mkdir pub #新建立pub目錄做為 匿名用戶的上傳目錄 sudo chmod ftp:ftp pub #為pub目錄改其所有者組為 ftp sudo chmod -R 777 pub #為pub目錄設置權限為全部可讀可寫可執行
配置好之后,ls -l 查看
2:配置 vsftpd.conf 配置文件修改
sudo vim /etc/vsftpd.conf
用vim,打開-修改如圖示
設置如圖幾個選項就可以了
anonymous_enable=YES #設置匿名用戶可用 write_enable=YES # 設置用戶寫的權限 YES anon_upload_enable=YES #設置匿名用戶上傳YES anon_mkdir_write_enable=YES # 設置匿名用戶新建目錄YES
配置好之后:保存退出
重新啟動vsftpd服務
sudo restart vsftpd
3: 測試 匿名用戶訪問,上傳,新建立目錄
#打開終端連接ftp服務器 ftp 192.168.8.35 #回車 anonymous #輸入用戶名,匿名用戶 #要求輸入密碼,直接回車 #出現Using binary mode to transfer files 表示連接成功 #ls 查看遠程服務器目錄 #cd pub 切換到遠程目錄pub #ls 查看遠程目錄 # get hi.txt 下載遠程文件到本地 #pub mac0.txt 上傳本地文件到遠程服務器
如上圖測試;
測試新建目錄;直接使用
mkdir test
即可;
可以在瀏覽器里面輸入ftp://192.168.8.35 打開ftp服務器目錄,查看,下載,執行操作測試
參考:http://wiki.ubuntu.org.cn/Vsftpd
ftp命令:http://os.51cto.com/art/201003/186325.htm