紅帽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_643.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