做一個基于ESC搭建FTP服務
在場景清單裡選擇基于ECS搭建FTP服務場景,領取體驗雲伺服器。

領取後建立一個執行個體,并用mobaXterm打開此執行個體
首先安裝vsftpd服務并設定開機自啟動
yum -y install vsftpd
systemctl start vsftpd.service
用netstat指令檢視監聽端口
netstat -antup | grep ftp
由下圖可知服務已啟動,并且運作端口為21
啟動匿名使用者模式
我們通過修改vsftpd服務cun'fang'z'z
存放在etc檔案夾下的配置檔案可以啟動匿名使用者模式
vim /etc/vsftpd/vsftpd.conf
将此項取消注釋退出并儲存vim編輯器,更改/var/ftp/pub目錄的權限,為ftp使用者賦予權限并重新開機服務
chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service
匿名使用者模式生效
本地使用者模式
建立一個使用者并為其設定密碼
adduser ftptest
passwd ftptest
若想啟動本地使用者模式,首先用mkdir建立一個檔案夾用于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=<自己領取的ESC彈性公網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
systemctl restart vsftpd.service
浏覽器測試
打開浏覽器并輸入ftp://IP位址+端口号