天天看點

ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務

基于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

完成後有如下提示

ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務
  • 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 的注釋解開。(去掉該行的開頭的#即可)

ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務

按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完成

ECS 7天實踐訓練營-基于ECS搭建FTP服務基于ECS搭建FTP服務

結語

  • 搭建FTP還是較為簡單的,隻要跟着教程一步一步動手即可完成。

    希望能和小夥伴們一起加油努力~

繼續閱讀