阿里雲 FTP的搭建和使用

FTP的搭建和使用

更新時間:2019-03-29 19:04:11html

   

簡介

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲「文傳協議」。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不一樣的操做系統有不一樣的FTP應用程序,而全部這些應用程序都遵照同一種協議以傳輸文件。互聯網上提供文件存儲和訪問服務的計算機,他們依照的是FTP協議提供服務!支持FTP協議的服務器就是FTP服務器!FTP協議提供存儲和傳輸服務的一套協議。下載」(Download)和」上傳」(Upload)。」下載」文件就是從遠程主機拷貝文件至本身的計算機上;」上傳」文件就是將文件從本身的計算機中拷貝至遠程主機上。用Internet語言來講,用戶可經過客戶機程序向(從)遠程主機上傳(下載)文件。linux

工做原理

FTP採用客戶端/服務端的工做模式(C/S結構),經過TCP協議創建客戶端和服務器之間的鏈接,但與其餘大多數應用協議不一樣,FTP協議在客戶端和服務端之間創建了兩條通訊鏈路,分別是控制鏈路和數據鏈路,其中,控制鏈路負責FTP會話過程當中FTP命令的發送和接收,數據鏈路則負責數據的傳輸。FTP會話包含了兩個通道,控制通道和數據通道,FTP的工做有兩種方式,一種是主動模式,一種是被動模式,以FTPServer爲參照物,主動模式,服務器主動鏈接客戶端傳輸,被動模式,等待客戶端的的鏈接 。(不管是主動模式仍是被動模式,首先的控制通道都是先創建起來的,只是在數據傳輸模式上的區別)。nginx

FTP的安裝與配置

安裝前準備

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

1.安裝vsftpd,直接yum 安裝就能夠了安全

 
  1. yum install -y vsftpd

圖片20

出現下圖表示安裝成功。bash

圖片21

2.相關配置文件:服務器

 
  1. cd /etc/vsftpd

圖片22

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

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

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

3.啓動服務

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

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

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

圖片23

開通FTP服務對應的防火牆端口:21後,登陸FTP服務器。

圖片24

匿名ftp的基本配置

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

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

anonymous_enable=YES //默認即爲YES

圖片25

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

爲了演示效果,咱們安裝一個lftp軟件。

 
  1. yum -y install lftp //安裝lftp

圖片26

利用lftp 公網ip鏈接到ftp服務器,能夠看到只能查看和下載,不能進行上傳操做

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

圖片27

匿名ftp的其餘設置

出於安全方面的考慮,vsftpd在默認狀況下不容許用戶經過匿名FTP上傳文件,建立目錄等更改操做,可是能夠修改vsftpd.conf配置文件的選項,能夠賦予匿名ftp更多的權限。

容許匿名ftp上傳文件。

修改/etc/vsftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

圖片28

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

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

圖片29

三、測試

圖片30

配置本地用戶登陸

本地用戶登陸就是指使用Linux操做系統中的用戶帳號和密碼登陸ftp服務器,vsftp安裝後默只支持匿名ftp登陸,用戶若是試圖使用Linux操做系統中的帳號登陸服務器,將會被vsftpd拒絕

1.建立ftptest用戶

 
  1. useradd ftptest #建立ftptest用戶
  2. passwd ftptest #修改ftptest用戶密碼

圖片31

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

anonymous enable=NO

local_enable=YES

圖片32

3.仍是經過lftp鏈接到ftp服務器

圖片33

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

 
  1. 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 匿名上傳文件所屬用戶名
相關文章
相關標籤/搜索