使用阿里雲的ecs伺服器,建立ftp站點。
第一次玩這種東西,踩了不少坑,也走了不少彎路,總結出了一套流程,現在記錄下來
1、遠端連線到伺服器(我是mac上直接 ssh root@伺服器IP地址
連線的,也可以直接在阿里雲上鍊接,然後操作,效果是一樣的)
2、安裝vsftpd
yum install -y vsftpd
複製程式碼
3、執行一下命令,並檢視etc/vsftpd
cd /etc/vsftpd
ls
複製程式碼
4、執行以下命令設定開機自啟動。
systemctl enable vsftpd.service
複製程式碼
5、執行以下命令啟動 FTP 服務。
systemctl start vsftpd.service
複製程式碼
6、執行以下命令檢視 FTP 服務埠。
netstat -antup | grep ftp
複製程式碼
這個時候已經可以連線啦~~~(匿名連線)
(我用的是 fileZilla)
點快速連線,可以看到連線成功,並且列出了“/”目錄。其實就是:/var/ftp/ 目錄
vsftpd的預設根目錄為:/var/ftp/pub
匿名ftp的設定
出於安全方面的考慮,vsftpd在預設情況下不允許使用者通過匿名FTP上傳檔案,建立目錄等更改操作,但是可以修改vsftpd.conf配置檔案的選項,可以賦予匿名ftp更多的許可權。(不信可以隨便拖個檔案過去pub資料夾)
1、 允許匿名ftp上傳檔案。
修改/etc/vsftpd/vsftpd.conf
`write_enable=YES`
`anon_upload_enable=YES`
複製程式碼
2、更改/var/ftp/pub目錄的許可權,為ftp使用者新增寫許可權,並重新載入配置檔案
chmod o+w /var/ftp/pub/ #更改/var/ftp/pub目錄的許可權
systemctl restart vsftpd.service #重啟ftp服務
複製程式碼
3、測試一下,拖個圖片過去pub資料夾,OK了~~
配置本地使用者登入
本地使用者登入就是指使用Linux作業系統中的使用者賬號和密碼登入ftp伺服器,vsftp安裝後默只支援匿名ftp登入,使用者如果試圖使用Linux作業系統中的賬號登入伺服器,將會被vsftpd拒絕(這句話抄的,說實話,看得很拗口,可以不看的~~~直接跟著下面的步驟走….)
1、本地建立一個賬號密碼來登入ftp(ftphest就是你的使用者名稱,你想怎麼起就怎麼起)
useradd ftptest #建立ftptest使用者
passwd ftptest #修改ftptest使用者密碼
複製程式碼
2、修改/etc/vsftpd/vsftpd.conf
anonymous enable=NO
local_enable=YES
3、用這個上面設定的賬號密碼來連結ftp,不出意外,你會看到這個(反正我是看到了,如果你的沒有,是正常連線,當我什麼都沒說)
4、遇到上面這個問題,別去百度了,太**坑了?
怎麼辦呢?注意500那行,有個地址 /home/vsftpd
那就到home目錄下看看
cd /home
ls
複製程式碼
發現壓根就沒有vsftpd這個資料夾,呵~不懂說什麼好?
既然發現沒有,那就自己建一個咯
mkdir vsftpd
ls
複製程式碼
好了 資料夾有了,在連線一次試試
OK 大功告成!!
補充:如果發生如下情況,請執行 sudo chmod -R 777 /home/vsftpd
,設定/home/vsftpd 的許可權就可以了
記錄一下vsftpd的命令
啟動命令 systemctl start vsftpd.service
停止命令 systemctl stop vsftpd.service
重新啟動 systemctl restart vsftpd.service
檢查vsfepd服務的允許狀態 systemctl status vsftpd.service
解除安裝vsftp
rpm -qa |grep vsftp
複製程式碼
得到 vsftpd-3.0.2-22.el7.x86_64
執行
rpm -e vsftpd-3.0.2-22.el7.x86_64
複製程式碼