Centos7配置vsftpd

基本安裝

yum install vsftpd

然後編輯配置文件/etc/vsftpd/vsftpd.conf


關閉匿名訪問

anonymous_enable=NO

開啓日誌

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

開啓本地用戶限制(假根)

chroot_local_user=YES

配置限制的用戶能有寫權限

allow_writeable_chroot=YES

守護模式(還有一種是獨立模式,大規模訪問使用)

listen=NO


到此爲止,重啓ftp服務,就可以正常使用本地用戶登錄。


/etc/vsftpd/目錄下:

ftpusers:此文件是pam限制ftp用戶訪問登錄(可以查看/etc/pam.d/vsftpd)。

user_list: 此文件是vsftpd服務本身限制ftp用戶訪問登錄


配置FTP虛擬用戶

(一旦開啓虛擬用戶配置,本地用戶就訪問失效,因爲需要配置pam)

1.添加到配置文件末尾

# virtual user defined

guest_enable=YES

虛擬用戶的宿主用戶

guest_username=vftpuser

user_config_dir=/etc/vsftpd/userconf


2.創建虛擬用戶和密碼:

vi /etc/vsftpd/vftpuser.txt

添加用戶和密碼(例如)

zhangsan

123456

lisi

654321

然後再將txt文件轉化爲db文件(db_load命令需要安裝)

db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db


3.修改ftp認證方式,編輯/etc/pam.d/vsftpd

先註釋全部,然後添加下面配置

auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser


4.然後創建虛擬用戶自己的配置文件

進入配置目錄/etc/vsftpd/userconf

創建和虛擬用戶用戶名相同的文件

vi zhangsan

添加下面配置,使虛擬用戶可以增刪改查

local_root=/ftp/upload

write_enable=YES

virtual_use_local_privs=YES


5.最後重啓服務


注意:ftp服務器使用虛擬用戶更加安全

附錄:vsftpd配置主動模式和被動模式及其原理
原理 :
主動 FTP :
命令連接:客戶端 >1024 端口 → 服務器 21 端口
數據連接:客戶端 >1024 端口 ← 服務器 20 端口
被動 FTP :
命令連接:客戶端 >1024 端口 → 服務器 21 端口
數據連接:客戶端 >1024 端口 ← 服務器 >1024 端口
介紹:
PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了XXXX端口,你過來連接我”。於是服務器從20端口向客戶端的XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。
     PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX端口,你過來連接我”。於是客戶端向服務器的XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。概括一下就是:主動模式:服務器向客戶端敲門,然後客戶端開門被動模式:客戶端向服務器敲門,然後服務器開門所以,如果你是如果通過代理上網的話,就不能用主動模式,因爲服務器敲的是上網代理服務器的門,而不是敲客戶端的門而且有時候,客戶端也不是輕易就開門的,因爲有防火牆阻擋,除非客戶端開放大於1024的高端端口

主動配置參數:
port_enable=YES|NO
  如果你要在數據連接時取消PORT模式時,設此選項爲NO。默認值爲YES。
  connetc_from_port_20=YES|NO(默認配置文件寫了YES)
  控制以PORT模式進行數據傳輸時是否使用20端口(ftp-data)。YES使用,NO不使用。默認值爲NO,但RHL自帶的vsftpd.conf文件中此參數設爲YES。
  ftp_data_port=port number
  設定ftp數據傳輸端口(ftp-data)值。默認值爲20。此參數用於PORT FTP模式。
  port_promiscuous=YES|NO
默認值爲NO。爲YES時,取消PORT安全檢查。該檢查確保外出的數據只能連接到客戶端上。小心打開此選項。

被動配置參數:
    pasv_enable=YES|NO
  YES,允許數據傳輸時使用PASV模式。NO,不允許使用PASV模式。默認值爲YES。
  pasv_min_port=port number
  pasv_max_port=port number
  設定在PASV模式下,建立數據傳輸所可以使用port範圍的下界和上界,0 表示任意。默認值爲0。把端口範圍設在比較高的一段範圍內,比如50000-60000,將有助於安全性的提高。

注意:
1.注意防火牆的配置
2.不管服務器端是主動還是被動,客戶端用ftp連接時,用的passive模式



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章