1. 程式人生 > >紅帽7 vsftpd服務

紅帽7 vsftpd服務

FTP 是一種在網際網路中進行檔案傳輸的協議,基於客戶端/伺服器模式,預設使用 20、21號埠,其中埠 20(資料埠)用於進行資料傳輸,埠 21(命令埠)用於接受客戶端

發出的相關 FTP 命令與引數。FTP 伺服器是按照 FTP 協議在網際網路上提供檔案儲存和訪問服務的主機,FTP 客戶端則是向伺服器傳送連線請求,以建立資料傳輸鏈路的主機。FTP 協議有下面兩種工作模式

➢主動模式 :FTP 伺服器主動向客戶端發起連線請求。

➢ 被動模式:FTP 伺服器等待客戶端發起連線請求(FTP 的預設工作模式)

vsftpd(very secure ftp daemon,非常安全的 FTP 守護程序)是一款執行在 Linux 作業系統上的 FTP 服務程式,不僅完全開源而且免費,此外,還具有很高的安全性、傳輸速度,以及支援虛擬使用者驗證等其他 FTP 服務程式不具備的特點。

配置妥當 Yum 軟體倉庫之後,就可以安裝 vsftpd 服務程式了

[[email protected] Desktop]# yum install vsftpd
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分輸出資訊………………
===============================================================================
Package Arch Version Repository Size
===============================================================================
Installing:
vsftpd x86_64 
3.0.2-9.el7 rhel 166 k Transaction Summary =============================================================================== Install 1 Package Total download size: 166 k Installed size: 343 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : vsftpd
-3.0.2-9.el7.x86_64 1/1 Verifying : vsftpd-3.0.2-9.el7.x86_64 1/1 Installed: vsftpd.x86_64 0:3.0.2-9.el7 Complete!

老版本的系統會有iptables防火牆,具預設禁止了 FTP 傳輸協議的埠號,因此還需要清空 iptables 防火牆的預設策略,並把當前已經被清理的防火牆策略狀態儲存下來。

[[email protected] Desktop]# iptables -F
[[email protected] Desktop]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

vsftpd 服務程式的主配置檔案(/etc/vsftpd/vsftpd.conf)內容總長度達到 123,可以在 grep 命令後面新增-v 引數,過濾並反選出沒有包含井號(#)的引數行(即過濾掉所有的註釋資訊),然後將過濾後的引數行通過輸出重定向符寫回原始的主配置檔案中

[[email protected] Desktop]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
[[email protected] Desktop]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[[email protected] Desktop]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

vsftpd 服務程式常用的引數以及作用

引數 作用
listen=[YES|NO 是否以獨立執行的方式監聽服務
listen_address=IP 地址 設定要監聽的 IP 地址
listen_port=21 設定 FTP 服務的監聽埠
download_enable=[YES|NO] 是否允許下載檔案
userlist_enable=[YES|NO]
userlist_deny=[YES|NO]
設定使用者列表為“允許”還是“禁止”操作
max_clients=0 最大客戶端連線數,0 為不限制
max_per_ip=0 同一 IP 地址的最大連線數,0 為不限制
anonymous_enable=[YES|NO] 是否允許匿名使用者訪問
anon_upload_enable=[YES|NO] 是否允許匿名使用者上傳檔案
anon_umask=022  匿名使用者上傳檔案的 umask 值
anon_root=/var/ftp 匿名使用者的 FTP 根目錄
anon_mkdir_write_enable=[YES|NO] 是否允許匿名使用者建立目錄
anon_other_write_enable=[YES|NO] 是否開放匿名使用者的其他寫入許可權(包括重新命名、刪
除等操作許可權)
anon_max_rate=0 匿名使用者的最大傳輸速率(位元組/秒),0 為不限制
local_enable=[YES|NO] 是否允許本地使用者登入 FTP
local_umask=022 本地使用者上傳檔案的 umask 值
local_root=/var/ftp 本地使用者的 FTP 根目錄
chroot_local_user=[YES|NO] 是否將使用者許可權禁錮在 FTP 目錄,以確保安全
local_max_rate=0 本地使用者最大傳輸速率(位元組/秒),0 為不限制

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vsftpd 作為更加安全的檔案傳輸的服務程式,允許使用者以三種認證模式登入到 FTP 伺服器上

➢匿名開放模式 :是一種最不安全的認證模式,任何人都可以無需密碼驗證而直接登入到 FTP 伺服器。

➢本地使用者模式 :是通過 Linux 系統本地的賬戶密碼資訊進行認證的模式,相較於匿名開放模式更安全,而且配置起來也很簡單。但是如果被破解了賬戶的資訊,就可以暢通無阻地登入 FTP 伺服器,從而完全控制整臺伺服器。

虛擬使用者模式 :是這三種模式中最安全的一種認證模式,它需要為 FTP 服務單獨建立使用者資料庫檔案,虛擬出用來進行口令驗證的賬戶資訊,而這些賬戶資訊在伺服器系統中實際上是不存在的,僅供 FTP 服務程式進行認證使用。

ftp 是 Linux 系統中以命令列介面的方式來管理 FTP 傳輸服務的客戶端工具。我們首先手動安裝這個 ftp 客戶端工具

[[email protected] Desktop]# yum install ftp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分輸出資訊………………
Installing:
ftp x86_64 0.17-66.el7 rhel 61 k
Transaction Summary
===============================================================================
Install 1 Package
Total download size: 61 k
Installed size: 96 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : ftp-0.17-66.el7.x86_64 1/1
Verifying : ftp-0.17-66.el7.x86_64 1/1
Installed:
ftp.x86_64 0:0.17-66.el7
Complete!
View Code