基于ECS搭建FTP服務
ECS就是阿裡雲的雲伺服器,FTP是一種檔案傳輸協定,那麼使用ECS搭建FTP就是相當于搭建了個網盤,廢話少說開始吧~
條件準備
- 第一項
- 開通你的雲伺服器,國内有許多廠商,比如良心雲,套路雲,騰訊雲便宜實惠,阿裡雲服務到位,當然我這種白嫖黨是不在乎的,那裡能白嫖,哪裡就有我。 阿裡雲優惠在這裡~
- 第二項
- 帶上你的手,不要僅僅看看文章或者視訊,動起來才行~
連接配接雲伺服器
- 1.打開系統自帶的終端工具。
- Windows:CMD或Powershell
- MAC:Terminal
- 2.在終端中輸入指令ssh -V
- 顯示如下圖的話就沒有問題
ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務 - 否則的話, 點我下載下傳 并安裝後重試
- 顯示如下圖的話就沒有問題
- 3.在終端中輸入連接配接指令 ssh [username]@[ipaddress]。将其中的 username 和 ipaddress 替換為雲産品資源提供的ECS伺服器的 使用者和 彈性IP。例如:ssh [email protected],成功之後顯示如下圖
-
ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務
-
安裝FTP工具
FTP工具有很多,這次我們使用的是vsftpd,關于vsftpd的更多資訊可以 點我
- 1.運作以下指令安裝vsftpd
yum install -y vsftpd
完成後有如下提示
- 2.運作以下指令設定FTP服務開機自啟動。
systemctl enable vsftpd.service
- 3.啟動FTP服務
systemctl start vsftpd.service
- 4.運作以下指令檢視FTP服務監聽的端口
netstat -antup | grep ftp
- 出現如下圖所示界面,表示FTP服務已啟動,監聽的端口号為 21。此時,vsftpd預設已開啟匿名通路功能,無需輸入使用者名密碼即可登入FTP伺服器,但沒有修改或上傳檔案的權限。
ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務
配置vsftpd
ftp有兩種模式,一種是匿名模式,一種是登入模式。匿名模式下無需賬号密碼即可通路,那麼登入模式自然是需要賬号和密碼才能進行通路等操作。
- 1.匿名模式(二選一)
匿名模式配置較為簡單,使用vim打開配置檔案,指令如下:
vim /etc/vsftpd/vsftpd.conf
按 i 鍵進入編輯模式,将匿名上傳權限 anon_upload_enable=YES 的注釋解開。(去掉該行的開頭的#即可)
按ESC鍵退出編輯模式,輸入:wq 儲存并退出vim。
更改/var/ftp/pub目錄的權限,為FTP使用者添加寫權限,指令如下
chmod o+w /var/ftp/pub/
接着重新開機服務即可,指令如下
systemctl restart vsftpd.service
-
2.登入模式(二選一)
為FTP服務建立一個Linux使用者
adduser ftptest
設定該使用者的密碼
passwd ftptest
建立一個供FTP服務使用的檔案目錄
mkdir /var/ftp/test
更改/var/ftp/test目錄的擁有者為ftptest
chown -R ftptest:ftptest /var/ftp/test
修改vsftpd.conf配置檔案
配置FTP為主動模式請執行如下指令:
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登入FTP伺服器
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #監聽IPv4 sockets
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #關閉監聽IPv6 sockets
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部使用者被限制在主目錄
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #啟用例外使用者名單
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外使用者清單檔案,清單中的使用者不被鎖定在主目錄
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #設定本地使用者登入後所在的目錄
配置FTP為被動模式請執行如下指令:
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登入FTP伺服器
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #監聽IPv4 sockets
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #關閉監聽IPv6 sockets
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部使用者被限制在主目錄
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #啟用例外使用者名單
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外使用者清單檔案,清單中的使用者不被鎖定在主目錄
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #設定本地使用者登入後所在的目錄
echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #開啟被動模式
echo "pasv_address=<FTP伺服器公網IP位址>" >> /etc/vsftpd/vsftpd.conf #本教程中為ECS伺服器彈性IP
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #設定被動模式下,建立資料傳輸可使用的端口範圍的最小值
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #設定被動模式下,建立資料傳輸可使用的端口範圍的最大值
在/etc/vsftpd目錄下建立chroot_list檔案,并在檔案中寫入例外使用者名單(建立檔案為必須,寫入内容非必須)
vim /etc/vsftpd/chroot_list
重新開機FTP服務
systemctl restart vsftpd.service
FTP服務測試
- 打開Chrom浏覽器,在位址欄中輸入ftp://:FTP端口,FTP伺服器公網IP位址為ECS伺服器的彈性IP位址。例如:ftp://139.0.0.1:21。
-
匿名模式下直接可以通路
登入模式下需要進行登入
- 效果如下圖所示
ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務
大功告成!
- 進行建立檔案夾測試
ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務
修改後通路如下圖則搭建FTP完成
結語
-
搭建FTP還是較為簡單的,隻要跟着教程一步一步動手即可完成。
希望能和小夥伴們一起加油努力~