閱讀917 返回首頁    go 阿裏雲 go 技術社區[雲棲]


雲服務器ECS下的FTP服務的安裝配置與使用

簡介

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控製文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作係統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。
互聯網上提供文件存儲和訪問服務的計算機,他們依照的是FTP協議提供服務!支持FTP協議的服務器就是FTP服務器!FTP協議提供存儲和傳輸服務的一套協議。
下載"(Download)和"上傳"(Upload)。”下載”文件就是從遠程主機拷貝文件至自己的計算機上;”上傳”文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。

工作原理

FTP采用客戶端/服務端的工作模式(C/S結構),通過TCP協議建立客戶端和服務器之間的連接,但與其他大多數應用協議不同,FTP協議在客戶端和服務端之間建立了兩條通信鏈路,分別是控製鏈路和數據鏈路,其中,控製鏈路負責FTP會話過程中FTP命令的發送和接收,數據鏈路則負責數據的傳輸。
FTP會話包含了兩個通道,控製通道和數據通道,FTP的工作有兩種方式,一種是主動模式,一種是被動模式,以FTPServer為參照物,主動模式,服務器主動連接客戶端傳輸,被動模式,等待客戶端的的連接 。
(無論是主動模式還是被動模式,首先的控製通道都是先建立起來的,隻是在數據傳輸模式上的區別)。

本教程主要介紹在Windows server 2008 R2和CentOS 7.2的係統環境上手動部署。

Windows server 2008 R2

安裝前準備

選用windows server 2008 R2 企業版 64位中文版的係統,阿裏雲在公共鏡像中提供了該係統鏡像,用戶可直接在控製台中更換此係統。並通過遠程鏈接進入到係統中。

安裝FTP服務

開始>管理工具>服務管理器。

_1

安裝IIS/FTP角色。

打開服務器管理器,找到添加角色,然後點擊,彈出添加角色對話框,選擇下一步。

圖片2

選擇Web服務器(IIS),然後選擇FTP服務,直到安裝完成。

圖片3

圖片4

圖片5

圖片6

圖片7

進入IIS管理器。

圖片8

右鍵網站出現添加“FTP站點”就表示FTP服務安裝成功。

圖片9

創建Windows用戶名和密碼,用於FTP使用。

開始>管理工具>服務器管理器,添加用戶,如下圖:本實例使用ftptest。

圖片10

在設置密碼時要采用大寫字母加小寫字母加數字的組合,否則會顯示無法通過密碼策略。

圖片11

在服務器磁盤上創建一個供FTP使用的文件夾,創建FTP站點,指定剛剛創建的用戶ftptest,賦予讀寫權限。

圖片12

填寫FTP站點名稱與默認目錄。

圖片13

綁定21端口(也可自行設置)。

圖片14

授權之前創建的ftptest用戶允許訪問和讀寫權限。

圖片15

完成後看到設置的FTP站點。

圖片16

客戶端測試。直接使用ftp://服務器ip地址:ftp端口(如果不填端口則默認訪問21端口),如圖。彈出輸入用戶名和密碼的對話框表示配置成功,正確的輸入用戶名和密碼後,即可對FTP文件進行相應權限的操作。

圖片17

圖片18

登錄成功。

圖片19

CentOS 7.2

安裝前準備

選用CentOS 7.2 64位的係統,阿裏雲在公共鏡像中提供了該係統鏡像,用戶可直接在控製台中更換此係統。並通過遠程鏈接進入到係統中。

vsftpd是linux下的一款小巧輕快,安全易用的FTP服務器軟件,是一款在各個Linux發行版中最受推崇的FTP服務器軟件。

1.安裝vsftpd,直接yum 安裝就可以了

yum install -y vsftpd

圖片20

出現下圖表示安裝成功。

圖片21

2.相關配置文件:

cd /etc/vsftpd

圖片22

/etc/vsftpd/vsftpd.conf                    //主配置文件,核心配置文件

/etc/vsftpd/ftpusers                        //黑名單,這個裏麵的用戶不允許訪問FTP服務器

/etc/vsftpd/user_list                       //白名單,允許訪問FTP服務器的用戶列表

3.啟動服務

systemctl enable vsftpd.service                    //設置開機自啟動

systemctl start vsftpd.service                    //啟動ftp服務

netstat -antup | grep ftp               //查看ftp服務端口

圖片23

登錄ftp服務器。

圖片24

匿名ftp的基本配置

使用匿名FTP,用戶無需輸入用戶名密碼即可登錄FTP服務器,vsftpd安裝後默認開啟了匿名ftp的功能,用戶無需額外配置即可使用匿名登錄ftp服務器。

匿名ftp的配置在/etc/vsftpd/vsftpd.conf中設置。

anonymous_enable=YES //默認即為YES

圖片25

這個時候任何用戶都可以通過匿名方式登錄ftp服務器,查看並下載匿名賬戶主目錄下的各級目錄和文件,但是不能上傳文件或者創建目錄。

為了演示效果,我們安裝一個lftp軟件。

yum -y install lftp             //安裝lftp

圖片26

利用lftp 公網ip連接到ftp服務器,可以看到隻能查看和下載,不能進行上傳操作

lftp 公網ip                       #連接到ftp服務器
cd pub/                         #切換到pub目錄
put /etc/issue                   #上傳文件
get test.1                       #下載文件

圖片27

匿名ftp的其他設置

出於安全方麵的考慮,vsftpd在默認情況下不允許用戶通過匿名FTP上傳文件,創建目錄等更改操作,但是可以修改vsftpd.conf配置文件的選項,可以賦予匿名ftp更多的權限。

允許匿名ftp上傳文件。 

修改/etc/vsftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

圖片28

2、更改/var/ftp/pub目錄的權限,為ftp用戶添加寫權限,並重新加載配置文件

chmod o+w /var/ftp/pub/                  #更改/var/ftp/pub目錄的權限
systemctl restart vsftpd.service            #重啟ftp服務

圖片29

3、測試

圖片30

配置本地用戶登錄

本地用戶登錄就是指使用Linux操作係統中的用戶賬號和密碼登錄ftp服務器,vsftp安裝後默隻支持匿名ftp登錄,用戶如果試圖使用Linux操作係統中的賬號登錄服務器,將會被vsftpd拒絕

1.創建ftptest用戶

useradd ftptest                 #創建ftptest用戶
passwd ftptest                   #修改ftptest用戶密碼

圖片31

2.修改/etc/vsftpd/vsftpd.conf

anonymous enable=NO

local_enable=YES

圖片32

3.還是通過lftp連接到ftp服務器

圖片33

另外簡單介紹下vsftpd.conf的配置文件參數說明。

cat /etc/vsftpd/vsftpd.conf

用戶登陸控製

參數 說明
anonymous_enable=YES 接受匿名用戶
no_anon_password=YES 匿名用戶login時不詢問口令
anon_root=(none) 匿名用戶主目錄
local_enable=YES   接受本地用戶
local_root=(none) 本地用戶主目錄

用戶權限控製

參數 說明
write_enable=YES 可以上傳(全局控製)
local_umask=022 本地用戶上傳文件的umask
file_open_mode=0666 上傳文件的權限配合umask使用
anon_upload_enable=NO 匿名用戶可以上傳
anon_mkdir_write_enable=NO 匿名用戶可以建目錄
anon_other_write_enable=NO 匿名用戶修改刪除
chown_username=lightwiter 匿名上傳文件所屬用戶名

相關連接

更多開源軟件盡在雲市場:https://market.aliyun.com/software

最後更新:2017-05-13 08:40:53

  上一篇:go  EVA 4400存儲硬盤故障導致數據丟失怎麼恢複?
  下一篇:go  hello