FreeBSD 8.1下vsftpd服務器配置方法
原創【51CTO特稿】vsftpd因為其穩定高效,一直是默認安裝的,因此我在FreeBSD 8.1下選用ftp也是選用vsftpd;因發現其安裝方法跟在Linux下大同小異,并且公司目前所用遠程備份也主要是vsftpd和rsync,故特將整個過程記錄一下。
作者簡介:余洪春(博客),網名撫琴煮酒,英文名Andrew.Yu,武漢某外企高級Linux/Unix系統管理員、項目實施工程師,紅帽RHCE講師,擅長負載均衡高可用和中小型證券類和商務網站架構,目前關注網站架構研究及網絡安全。
推薦專題:企業內網開發環境部署與管理全攻略(FreeBSD+PHP)
vsftpd的二種模式:xinetd和standalone
什么是xinetd模式和standalone模式
像其它守護程序一樣,vsftpd提供了standalone和 inetd(inetd或xinetd)兩種運行模式。簡單解釋一下, standalone一次性啟動,運行期間一直駐留在內存中,優點是對接入信號反應快,缺點是損耗了一定的系統資源,因此經常應用于對實時反應要求較高的專業FTP服務器。inetd恰恰相反,由于只在外部連接發送請求時才調用FTP進程,因此不適合應用在同時連接數量較多的系統。此外,inetd模式不占用系統資源。除了反應速度和占用資源兩方面的影響外,vsftpd還提供了一些額外的高級功能,如inetd模式支持per_IP(單一IP)限制,而 standalone模式則更有利于PAM驗證功能的應用。
在FreeBSD 8.1下配置vsftpd服務器的具體方法:
一、ports安裝
/usr/ports/ftp/vsftpd
記得把make config里面的2個選項都啟動(前二項)。
二、配置
/etc/rc.conf中添加
vsftpd_enable="YES"
/usr/local/etc/vsftpd.conf中添加
listen=YES #即將vsftpd以standalone的方式啟動,不過FreeBSD8.1下默認vsftpd好像就有listen=YES
三、修改/usr/local/etc/vsftpd.conf配置文件如下:
編輯 /usr/local/etc/vsftpd.conf , 修改以下配置
anonymous_enable=NO #不允許匿名用戶登陸 local_enable=YES #允許本地用戶作為ftp用戶登錄 write_enable=YES #允許本地用戶具有寫權限 local_umask=022 #設置創建文件權限的反掩碼
此處為022,則新建文件的權限為666-022=644(rw-r--r--);新建目錄的權限為777-022=755(rwxr-xr-x)。這種方法其實也有誤差,并不能百分百保證正確,有興趣的朋友可深入研究下
chroot_local_user=YES #限制本地用戶的目錄,不允許隨意切換
四、啟動
/usr/local/etc/rc.d/vsftpd start
五、登錄測試
匿名用戶ftp和anonymous用戶均不能登陸,本地用戶可以登陸,windows下的工具我推薦FileZilla,開源的東西就是好用;在FreeBSD8下啟動vsftpd后,沒有發現討厭的久違的500 oops報錯,難得。
附上以前整理的vsftpd配置筆記
vsftpd.conf 內容如下,難點位置有注解.
anonymous_enable=YES
允許匿名用戶登錄
local_enable=YES
允許本地用戶登錄
write_enable=YES
允許本地用戶具有寫權限
local_umask=022
設置創建文件權限的反掩碼,如此處為022,則新建文件的權限為666-022=644(rw-r--r--);新建目錄的權限為777-022=755(rwxr-xr-x)。這種方法其實也有誤差,并不能百分百保證正確,有興趣的朋友可深入研究下
diremessage_enable=YES
激活目錄顯示消息,即每當進入目錄時,會顯示該目錄下的文件.message的內容
xferlog_enable=YES
激活記錄上傳/下載的日志
connect_from_port_20=YES
設置服務器端數據連接采用端口20,即采用主動模式(Port)
xferlog_std_format=YES
設置日志文件采用標準格式
pam_service_name=vsftpd
設置vsftpd服務利用PAM認證時的文件名稱是vsftpd
userlist_anable=YES
激活用戶列表文件來實現對用戶的訪問控制
lister=YES
設置vsftpd為獨立運行模式,相對于xinetd模式
tcp_wrappers=YES
設置采用tcp_wrappers來實現對主機的訪問控制
chroot_local=YES
將用戶訪問的范圍限制在各自的主目錄中
max_clients=100
FTP服務器的所有客戶端***連接數不超過100個
max_per_IP=5
同一IP地址的FTP客戶機與FTP服務器建立的***連接數不超過5個
local_max_rate=500000
FTP服務器的本地用戶***傳輸速率設置為500KB/s
anon_max_rate =200000
FTP服務器的匿名用戶***傳輸速率設置為200KB/s
【51CTO.com獨家特稿,轉載請注明原文作者和出處。】
【編輯推薦】