應用場景
本文介紹了在天翼云上如何使用彈性云主機的Linux實例使用vsftpd軟件搭建FTP站點。vsftpd全稱是“very secure FTP daemon”,是一款在Linux發行版中使用較多的FTP服務器軟件。該指導具體操作以CentOS 7.2 64位操作系統為例。
方案架構

方案優勢
- 快速構建站點,組網架構簡單。
- 網站安全易用。
資源和成本規劃
表 資源和成本規劃
| 資源 | 資源說明 | 成本說明 |
|---|---|---|
| 虛擬私有云VPC | VPC網段:192.168.0.0/16 | 免費 |
| 虛擬私有云子網 | 可用區:可用區1子網網段:192.168.0.0/24 | 免費 |
| 安全組 | 入方向規則(主動模式):協議/應用: TCP端口:20、21源地址:0.0.0.0/0 入方向規則(被動模式):協議/應用: TCP端口:21以及vsftpdconf配置文件中的端口源地址:0.0.0.0/0 |
免費 |
| 彈性云主機 | 計費模式:包年/包月 可用區:可用區1 規格:s6.large.2 鏡像:CentOS 7.2 64bit 系統盤:40G 彈性公網IP:現在購買 線路:全動態BGP 公網帶寬:按流量計費 帶寬大小:5 Mbit/s |
ECS涉及以下幾項費用:云主機云硬盤彈性公網IP |
| vsftpd | 是一款免費、開源的ftp軟件 | 免費 |
搭建FTP站點操作流程
Linux實例搭建FTP站點具體操作步驟如下:
1.安裝vsftpd。
2.配置vsftpd。
3.設置安全組。
4.客戶端測試。
實施步驟
1.安裝vsftpd。
a.登錄彈性云主機。
b.執行以下命令安裝vsftpd。
yum install -y vsftpd
回顯如下類似信息時,表示軟件安裝成功。

c.執行以下命令設置FTP服務開機自啟動。
systemctl enable vsftpd.service
d.執行以下命令啟動FTP服務。
systemctl start vsftpd.service
e.執行以下命令查看FTP服務端口。
netstat -antup | grep ftp
回顯如下類似信息。

2.配置vsftpd。
vsftpd安裝后默認開啟了匿名FTP的功能,使用匿名FTP,用戶無需輸入用戶名密碼即可登錄FTP服務器,但沒有權限修改或上傳文件。用戶如果試圖使用Linux操作系統中的賬號登錄服務器,將會被vsftpd拒絕,但可以在vsftpd里配置用戶賬號和密碼登錄。以下操作以在vsftpd?里配置用戶賬號和密碼登錄FTP服務器為例。
a.執行以下命令創建“ftpadmin”用戶。
此處“ftpadmin”用戶為示例,可根據實際情況創建相應的用戶。
useradd ftpadmin
b.執行以下命令并按照提示設置“ftpadmin”用戶密碼。
passwd ftpadmin
c.執行以下命令創建供FTP使用的文件目錄,此處以“/var/ftp/work01”為例。
mkdir /var/ftp/work01
d.執行以下命令將創建的文件目錄所有者改為用于登錄FTP的本地用戶。
chown -R ftpadmin:ftpadmin /var/ftp/work01
e.修改“vsftpd.conf”配置文件。
1.執行以下命令打開配置文件“vsftpd.conf”。
vi /etc/vsftpd/vsftpd.conf
2.按i鍵進入編輯模式。
3.修改打開的“vsftpd.conf”文件。
可根據實際需求選擇將FTP配置為主動模式或者被動模式。如果天翼云上的服務器需要通過公網IP地址訪問天翼云上的實例搭建的FTP服務器時,需要將FTP服務器配置為被動模式。
-
主動模式需要配置的參數如下:
#設置以下參數,不允許匿名登錄FTP服務器,允許本地用戶登錄FTP服務器,并指定FTP本地用戶使用的文件目錄。 anonymous_enable=NO ?????????????#不允許匿名登錄FTP服務器 local_enable=YES ????????????????#允許本地用戶登錄FTP服務器 local_root=/var/ftp/work01 ??????#FTP本地用戶使用的文件目錄 #設置以下參數,限制用戶只能訪問自身的主目錄。 chroot_local_user=YES ?????????????????????#所有用戶都被限制在其主目錄 chroot_list_enable=YES ????????????????????#啟用例外用戶名單 chroot_list_file=/etc/vsftpd/chroot_list ??#例外用戶名單 allow_writeable_chroot=YES -
被動模式除了需要配置主動模式所需的所有參數外,還需要配置的參數如下:
#設置以下參數,配置FTP支持被動模式。并指定FTP服務器的公網IP地址,以及可供訪問的端口范圍,端口范圍請根據實際環境進行設置。 listen=YES listen_ipv6=NO pasv_address=xx.xx.xx.xx ?????#FTP服務器的公網IP地址 pasv_min_port=3000 ???????????#被動模式下的最小端口 pasv_max_port=3100 ???????????#被動模式下的最大端口
4.按Esc鍵退出編輯模式,并輸入:wq保存后退出。
5.在“/etc/vsftpd/”目錄下創建“chroot_list”文件。
touch chroot_list
“chroot_list”文件是限制在主目錄下的例外用戶名單。如果需要設置某個用戶不受只可以訪問其主目錄的限制,可將對應的用戶名寫入該文件。如果沒有例外也必須要有“chroot_list”文件,內容可為空。
f.執行以下命令重啟vsftpd服務使配置生效。
systemctl restart vsftpd.service
3.設置安全組。
搭建好FTP站點后,需要在彈性云主機安全組的入方向添加一條放行FTP端口的規則,具體步驟參見為安全組添加安全組規則。
表 設置安全組規則
| FTP模式 | 方向 | 協議 | 端口 | 源地址 |
|---|---|---|---|---|
| 主動模式 | 入方向 | TCP | 20端口和21端口 | 0.0.0.0/0 |
| 被動模式 | 入方向 | TCP | 21端口和配置文件“/etc/vsftpd/vsftpd.conf” 中參數“pasv_min_port”和“pasv_max_port”之間的所有端口。 |
0.0.0.0/0 |
4.客戶端測試。
打開客戶端的計算機,在路徑欄輸入“ftp://FTP服務器IP地址:FTP端口”(如果不填端口則默認訪問21端口)?。彈出輸入用戶名和密碼的對話框表示配置成功,正確的輸入用戶名和密碼后,即可對FTP文件進行相應權限的操作。
說明:
如果FTP服務器配置為主動模式,客戶端使用此方法訪問FTP站點時,需要對IE瀏覽器進行設置,才能打開FTP的文件夾。打開IE瀏覽器,選擇“工具?> Internet?選項?>?高級”。勾選“啟用FTP文件夾視圖”,取消勾選“使用被動FTP”。
使用瀏覽器訪問FTP服務器出錯時,建議您清除瀏覽器緩存后再嘗試。