ECS進階學習第一天
什麼是FTP協定:
FTP(File Transfer Protocal),是用于Internet上的控制檔案的雙向傳輸的協定。用于網際網路雙向傳輸,控制檔案下載下傳空間在伺服器複制檔案從本地計算機或本地上傳檔案複制到伺服器上的空間。
FTP協定的用途:
搭建FTP伺服器等
今天要實驗的内容:
基于ECS搭建FTP服務
NO.1建立資源
- 在頁面左側,單擊 雲産品資源 下拉菜單,檢視本次實驗資源。
- 單擊 免費開通 建立所需資源。

NO.2遠端連接配接ECS伺服器
1.打開系統安裝的ssh連接配接工具,我這裡使用的是xshell,你也可以使用windows自帶的ssh連接配接工具連接配接
2.在主機處填寫ECS伺服器的ip,名稱自拟。
3.選擇使用者身份驗證選項,填寫伺服器對應的賬戶名和密碼
4.點選連接配接即可,登陸成功後顯示如下資訊
NO.3安裝vsftpd
1.系統環境為centos 運作 yum install -y vsftpd來安裝vsftpd程式
系統環境為ubuntu 運作 apt install vsftpd 來安裝vsfptd程式
2.運作以下指令設定FTP服務開機自啟動。
systemctl enable vsftpd.service
3.啟動FTP服務。
systemctl start vsftpd.service
4.運作以下指令檢視FTP服務監聽的端口。
netstat -antup | grep ftp
出現如下圖所示界面,表示FTP服務已啟動,監聽的端口号為 21。此時,vsftpd預設已開啟匿名通路功能,您無需輸入使用者名密碼即可登入FTP伺服器,但沒有修改或上傳檔案的權限。
NO.3配置vsftpd
1.使用vim編輯器,修改配置檔案vsftpd.conf,在指令視窗輸出 vim /etc/vsftpd/vsftpd.conf
2.按i進入編輯模式,删除anon_upload_enable=YES的注釋
3.按ESC鍵退出編輯模式,輸入:wq 儲存并退出vim
4.在指令視窗輸出以下指令,更改/var/ftp/pub目錄的權限,為FTP使用者添加寫權限。
chmod o+w /var/ftp/pub/
5.重新開機FTP服務。
systemctl restart vsftpd.service
6.為FTP服務建立一個Linux使用者。
adduser ftptest
為使用者設定密碼。
passwd ftptest
7.建立一個供FTP服務使用的檔案目錄。更改/var/ftp/test目錄的擁有者為ftptest。
mkdir /var/ftp/test
chown -R ftptest:ftptest /var/ftp/test
8.修改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 #設定本地使用者登入後所在的目錄
9.重新開機FTP服務。
systemctl restart vsftpd.service
輸入使用者名密碼即可。