FTP服務概述
FTP連接及傳輸模式
控制連接:TCP 21,用於發送FTP命令信息
數據連接:TCP 20,用於上傳、下載數據
數據連接的建立類型:
主動模式:服務端從20端口主動向客戶端發起連接
被動模式:服務端在指定範圍內某個端口被動等待客戶端連接
FTP傳輸模式
文本模式:ASCII模式,以文本序列傳輸數據
二進制模式:Binary模式,以二進制序列傳輸數據
FTP用戶的類型
匿名用戶:anonymous或ftp
本地用戶:帳號名稱、密碼等信息保存在passwd、shadow文件中
虛擬用戶:使用獨立的帳號/密碼數據文件
常見的FTP服務器程序
IIS、Serv-U、wu-ftpd、Proftpd、vsftpd(Very Secure FTP Daemon)
常見的FTP客戶端程序
ftp命令、CuteFTP、FlashFXP、LeapFTP、Filezilla、gftp、kuftp
vsftpd服務基礎
主程序:/usr/sbin/vsftpd
服務名:vsftpd
用戶控制列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件
/etc/vsftpd/vsftpd.conf
常用的全局配置項
listen=YES:是否以獨立運行的方式監聽服務
listen_address=192.168.4.1:設置監聽的IP地址
listen_port=21:設置監聽FTP服務的端口號
write_enable=YES:是否啓用寫入權限
download_enable=YES:是否允許下載文件
userlist_enable=YES:是否啓用user_list列表文件
userlist_deny=YES:是否禁用user_list中的用戶
max_clients=0:限制併發客戶端連接數
max_per_ip=0:限制同一IP地址的併發連接數
常用的匿名FTP配置項
anonymous_enable=YES:啓用匿名訪問
anon_umask=022:匿名用戶所上傳文件的權限掩碼
anon_root=/var/ftp:匿名用戶的FTP根目錄
anon_upload_enable=YES:允許上傳文件
anon_mkdir_write_enable=YES:允許創建目錄
anon_other_write_enable=YES:開放其他寫入權
anon_max_rate=0:限制最大傳輸速率(字節/秒)
常用的本地用戶FTP配置項
local_enable=YES:是否啓用本地系統用戶
local_umask=022:本地用戶所上傳文件的權限掩碼
local_root=/var/ftp:設置本地用戶的FTP根目錄
chroot_local_user=YES:是否將用戶禁錮在主目錄
local_max_rate=0:限制最大傳輸速率(字節/秒)
其他常用配置
1.修改vsftpd服務的監聽地址、端口
[root@steven ~]# vim /etc/vsftpd/vsftpd.conf …… listen=YES listen_address=192.168.4.11 listen_port=2121
2.允許使用FTP服務器的被動模式
[root@steven ~]# vi /etc/vsftpd/vsftpd.conf …… pasv_enable=YES pasv_min_port=24500 pasv_max_port=24600
實驗案例
先掛載RHEL系統光盤.安裝vsftp軟件包和db4-utils軟件包.
db4-utils軟件包用於建立虛擬賬號數據庫文件
建立虛擬用戶的賬戶名、密碼列表
奇數行爲帳號名
偶數行爲上一行中帳號的密碼
轉化爲Berkeley DB格式的數據文件
db_load 轉換工具
需安裝db4-utils軟件包
-T選項允許非Berkeley DB的應用程序使用文本格式轉換的DB數據文件
-t hash選項指定讀取數據文件的基本方法
-f選項用於指定數據源文件
爲了提高虛擬用戶賬號文件的安全性,將文件權限設置爲600
添加虛擬用戶的映射賬號
創建FTP目錄,更改屬主和權限
爲虛擬用戶建立PAM認證文件
修改vsftpd配置文件.添加虛擬用戶的支持,修改了匿名用戶的根目錄,限制了連接數和速率
爲每個用戶建立獨立的配置文件
爲每個用戶建立獨立配置文件以後.要添加這條
在FTP目錄中新建一點文件
下面開始測試
匿名用戶可以登錄,並可以瀏覽、下載,但無法上傳
sales用戶可以登錄,並可以瀏覽、下載,但無法上傳
salesadm用戶可以登錄,並可以瀏覽、下載,也可以上傳
devadm用戶可以登錄,並可以瀏覽、下載,也可以上傳
總結
構建基於虛擬用戶的FTP服務的步驟
創建賬號數據
1.建立虛擬FTP用戶的帳號數據庫文件
2.創建FTP根目錄及虛擬用戶映射的系統用戶
3.建立支持虛擬用戶的PAM認證文件
添加虛擬用戶支持
4.在vsftpd.conf文件中添加支持配置
5.爲個別虛擬用戶建立獨立的配置文件
啓動服務並測試
6.重新加載vsftpd配置
7.使用虛擬FTP賬戶訪問測試