阿里雲 FTP的搭建和使用


FTP的搭建和使用

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

   

簡介

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

工作原理

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

FTP的安裝與配置

安裝前准備

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

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

 
  1. yum install -y vsftpd

圖片20

出現下圖表示安裝成功。

圖片21

2.相關配置文件:

 
  1. 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服務對應的防火牆端口: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

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

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

圖片29

3、測試

圖片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 匿名上傳文件所屬用戶名  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM