目錄
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)
- 伺服器端關閉Selinux :setenforce 0 ; 配置防火牆: firewall-cmd --add-service=ftp
- 伺服器端安裝 vsftpd 程式:yum -y install vsftpd
- 修改共享目錄屬主屬組: chown ftp:ftp /var/ftp/pub -R
- 建立本地登入使用者并且設定密碼:useradd -s /sbin/nologin test ; passswd test
- 修改配置檔案 /etc/vsftpd/vsftpd.conf ,啟動 vsftp 服務 systemctl start vsftpd
- 用戶端關閉Selinux和防火牆:setenforce 0 ; service iptables stop
- 用戶端安裝 lftp 或者 ftp: yum -y install lftp 或 yum -y install ftp
- 用戶端使用 lftp 或 ftp 登入,共享的是 /var/ftp/pub ,用戶端使用本地使用者 test 登入,共享的是 test使用者的家目錄
- 無論是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 目錄
使用 ftp登入,用的是 ftp 使用者,共享的是 /var/ftp/pub 目錄
當使用伺服器端的使用者 test 登入時,共享的是 test 使用者的家目錄
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伺服器軟體;