天天看點

阿裡雲ECS七天進階訓練計劃day1–基于ECS搭建FTP服務

1.遠端連接配接ECS伺服器

Windows環境下,按下 win+R 打開運作視窗,輸入 cmd 回車,打開指令控制台。輸入 ssh -V 檢測系統是否已安裝 ssh 服務

阿裡雲ECS七天進階訓練計劃day1–基于ECS搭建FTP服務

如果得到上圖所示資訊,則說明系統已經安裝 ssh 服務了

運作 ssh 使用者名@IP位址 來遠端連接配接到伺服器,之後輸入密碼(在Linux中密碼是預設沒有回顯的)就可以連接配接到遠端伺服器了(如下圖所示)

阿裡雲ECS七天進階訓練計劃day1–基于ECS搭建FTP服務

2.安裝vsftpd

(1)運作以下指令安裝vsftpd。

yum install -y vsftpd

傳回如下圖所示界面時,表示安裝成功。

阿裡雲ECS七天進階訓練計劃day1–基于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七天進階訓練計劃day1–基于ECS搭建FTP服務

3.配置vsftpd

我這邊配的是本地模式,本地使用者模式隻支援添加的本地使用者通路搭建的FTP服務。

(1)建立使用者名和密碼

為FTP建立一個使用者

adduser 使用者名

為使用者設定密碼

passwd password

(2)建立一個供FTP服務使用的檔案目錄

mkdir /var/ftp/test

(3)更改 /var/ftp/test 目錄的擁有者為 ftptest

chown -R ftptest.ftptest /var/ftp/test

(4)修改 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為被動模式請執行如下指令:

echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #設定本地使用者登入後所在的目錄

echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #開啟被動模式

echo "pasv_address=" >> /etc/vsftpd/vsftpd.conf #本教程中為ECS伺服器彈性IP

echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #設定被動模式下,建立資料傳輸可使用的端口範圍的最小值

echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #設定被動模式下,建立資料傳輸可使用的端口範圍的最大值

一開始不太清楚主動模式和被動模式的差别,查了一下資料,最後總結:

主動模式下,資料通道是服務端指定了20端口和用戶端監聽的那個随機端口對應的,也就是說ftp服務端在傳檔案的情況下,作為用戶端,打開了20端口,連接配接ftp用戶端監聽的随機端口,這樣建立了資料通道。主動模式下其實是服務端監聽了21端口,而用戶端監聽了資料通道随機端口;在被動模式下就是服務端監聽了21端口,也監聽了資料通道随機端口。

(5)在 /etc/vsftpd 目錄下建立 chroot_list 檔案,并在檔案中寫入例外使用者名單

vim /etc/vsftpd/chroot_list

(6)重新開機FTP服務

systemctl restart vsftpd.service

4.用戶端測試

打開浏覽器,位址欄中輸入 ftp://伺服器IP位址:ftp端口号。彈出對話框中輸入使用者名和密碼,登陸成功出現如下頁面,此時可對FTP檔案進行相應權限的操作。

阿裡雲ECS七天進階訓練計劃day1–基于ECS搭建FTP服務

繼續閱讀