天天看點

Linux檔案共享服務之Vsftp

目錄

​​FTP​​

​​Vsftp服務的搭建​​

​​ftp、sftp、vsftp、vsftpd的差別​​

FTP

FTP的工作原理:

FTP會話時包含了兩個通道,一個叫控制通道,一個叫資料通道。控制通道是和FTP伺服器進行溝通的通道,連接配接FTP、發送FTP指定都是通過控制通道來完成的。資料通道是和FTP伺服器進行檔案傳輸或者清單的通道。FTP協定中,控制連接配接都是由用戶端發起的,而資料連接配接有兩種工作方式:PORT(主動)方式和PASV(被動)方式 (主動和被動是對于用戶端來說的)

  • 主動模式:伺服器開放 20 和 21
  • 被動模式:伺服器開放 21 号端口以及一個随機端口,其中21号端口固定用來做控制連結

簡單概述為:主動模式是傳送資料時是 伺服器 連接配接到用戶端的端口;而被動模式則是用戶端連接配接到伺服器的端口。主動模式需要用戶端必須開放端口給伺服器,很多用戶端都是在防火牆内部,開放端口給FTP伺服器比較困難;而被動模式則隻需要伺服器開放端口給用戶端就行了。一般被動模式是用的比較多

FTP使用者類型:

  • 匿名使用者:anonymous 或者 ftp
  • 本地使用者:伺服器本身的使用者家目錄為共享目錄
  • 虛拟使用者:使用獨立賬戶密碼資料檔案的使用者

常見的FTP服務程式:

Vsftpd、IIS 、Server-U、wu-ftp、proftp

Vsftp (Very Security ftp) :非常安全的FTP應用,基于FTP服務開發的應用

主要配置檔案:

  • /etc/vsftpd/vsftpd.conf :主配置檔案
  • /etc/vsftpd/ftpusers :黑名單
  • /etc/vsftpd/user_list:黑白名單

Vsftp服務的搭建

伺服器端 (Rhel7      ip: 192.168.10.17)

用戶端    (Centos 6.5 ip: 192.168.110.24)

  1. 伺服器端關閉Selinux :setenforce  0  ; 配置防火牆: firewall-cmd   --add-service=ftp
  2. 伺服器端安裝 vsftpd 程式:yum  -y  install  vsftpd
  3. 修改共享目錄屬主屬組:  chown  ftp:ftp   /var/ftp/pub  -R
  4. 建立本地登入使用者并且設定密碼:useradd  -s  /sbin/nologin   test  ;  passswd    test
  5. 修改配置檔案  /etc/vsftpd/vsftpd.conf ,啟動 vsftp 服務 systemctl  start  vsftpd
  6. 用戶端關閉Selinux和防火牆:setenforce  0  ; service  iptables  stop
  7. 用戶端安裝 lftp 或者 ftp: yum -y  install lftp  或  yum  -y  install  ftp
  8. 用戶端使用 lftp 或 ftp 登入,共享的是 /var/ftp/pub ,用戶端使用本地使用者 test 登入,共享的是 test使用者的家目錄
  9. 無論是lftp還是ftp,上傳都是 put 檔案名  ,下載下傳都是 get 檔案名

注:使用lftp登入預設是匿名使用者登入不用輸密碼。使用ftp登入的話,可以使用伺服器的本地使用者登入,也可以使用賬戶名為ftp的匿名使用者登入

注:vsftpd安裝好後,會自動建立檔案夾  /var/ftp/pub ,這個是預設共享目錄,我們把要共享的東西放到目錄中。

配置檔案 /etc/vsftpd/vsftpd.conf   的修改

anonymous_enable=YES              //預設是允許匿名使用者登入,如果改成NO的話,則隻允許以ftp伺服器本地的使用者名的身份登入了

//将這兩行的注釋去掉,允許匿名使用者上傳檔案
anon_upload_enable=YES            //允許匿名使用者上傳
anon_mkdir_write_enable=YES       //允許匿名使用者寫入      

使用 lftp 使用者登入,預設是匿名使用者,共享的是 /var/ftp/pub 目錄

Linux檔案共享服務之Vsftp

 使用 ftp登入,用的是 ftp 使用者,共享的是 /var/ftp/pub 目錄

Linux檔案共享服務之Vsftp

當使用伺服器端的使用者 test 登入時,共享的是 test 使用者的家目錄

Linux檔案共享服務之Vsftp

ftp、sftp、ftps、vsftp、vsftpd的差別

  • ftp 是File Transfer Protocol的縮寫,檔案傳輸協定,用于在網絡上進行檔案傳輸的一套标準協定,使用客戶/伺服器模式。它屬于網絡傳輸協定的應用層。
  • sftp 是SSH File Transfer Protocol的縮寫,安全檔案傳輸協定。使用SFTP登入會在last和lastb中留下記錄
  • FTPS是在安全套接層使用标準的FTP協定和指令的一種增強型FTP協定,為FTP協定和資料通道增加了SSL安全功能。FTPS也稱作“FTP-SSL”和“FTP-over-SSL”。SSL是一個在客戶機和具有SSL功能的伺服器之間的安全連接配接中對資料進行加密和解密的協定。
  • vsftp 是一個基于GPL釋出的類Unix系統上使用的ftp伺服器軟體,它的全稱是Very Secure FTP從此名稱可以看出來,編制者的初衷是代碼的安全;
  • vsftpd 是very secure FTP daemon的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類作業系統上運作的伺服器的名字,它可以運作在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開放源代碼的ftp伺服器軟體;

繼續閱讀