天天看點

基于ESC搭建FTP服務做一個基于ESC搭建FTP服務

做一個基于ESC搭建FTP服務

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

基于ESC搭建FTP服務做一個基于ESC搭建FTP服務

領取後建立一個執行個體,并用mobaXterm打開此執行個體

基于ESC搭建FTP服務做一個基于ESC搭建FTP服務
基于ESC搭建FTP服務做一個基于ESC搭建FTP服務

首先安裝vsftpd服務并設定開機自啟動

yum -y install vsftpd
systemctl start vsftpd.service           

用netstat指令檢視監聽端口

netstat -antup | grep ftp           

由下圖可知服務已啟動,并且運作端口為21

基于ESC搭建FTP服務做一個基于ESC搭建FTP服務

啟動匿名使用者模式

我們通過修改vsftpd服務cun'fang'z'z

存放在etc檔案夾下的配置檔案可以啟動匿名使用者模式

vim /etc/vsftpd/vsftpd.conf           
基于ESC搭建FTP服務做一個基于ESC搭建FTP服務

将此項取消注釋退出并儲存vim編輯器,更改/var/ftp/pub目錄的權限,為ftp使用者賦予權限并重新開機服務

chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service           

匿名使用者模式生效

本地使用者模式

建立一個使用者并為其設定密碼

adduser ftptest
passwd ftptest           
基于ESC搭建FTP服務做一個基于ESC搭建FTP服務

若想啟動本地使用者模式,首先用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位址+端口号

基于ESC搭建FTP服務做一個基于ESC搭建FTP服務