1,VsFTPd的簡述:
VSFTP(Very Secure FTP Daemon,非常安全的FTP服務器)。顧名思義,VSFTPD設計的出發點就是安全性。同時隨著版本的不斷升級,VSFTPD在性能和穩定性上也取得了極大的進展。除了安全和性能方面很優秀的外,還有很好的易用性。Red Hat公司在自己的FTP服務器(ftp.redhat.com)上就使用了vsFTPd 。
2,部署VSFTP
本文以ubuntu9.10為例進行部署,其他Linux發行版本類似。
2.1 安裝
$ sudo apt-get install vsftpd
2.2 配置
需要配置文件/etc/vsftpd.conf 來進行設置參數以對FTP進行控制,包括訪問權限,流量等進行控制。
執行sudo vi /etc/vsftpd.conf (或sudo gedit /etc/vsftpd.conf )可以看到配置文件中的默認參數,其中加#為注釋。提參數意義如下所示:
1>常用參數意義,是具體情況配置
#anonymous_enable 是否允許匿名ftp,如否則選擇NO,默認允許匿名訪問,注意當允許是所有用戶均視為匿名登錄。
#local_enable 是否允許本地用戶訪問,是指VSFTP所在機器上的注冊用戶。
#local_umask=022 默認的umask碼
#write_enable 是否允許本地用戶修改和刪除
chroot_list_file=/etc/vsftpd.chroot_list #指出被鎖定在自家目錄中的用戶的列表文件。文件格式為一行一用戶。
注意:當chroot_local_user=NO、chroot_list_enable=YES時,vsftpd.chroot_list中用戶為鎖定用戶,即他們除了自己的目錄,不可以訪問其他目錄。
當chroot_local_user=YES、chroot_list_enable=YES時,vsftpd.chroot_list中用戶為非鎖定用戶,他們可以訪問任何其他目錄。
local_root=/var/www/web (路徑自定義)#定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。(注釋則訪問該用戶自己目錄)
write_enable=YES
max_clients=100 #FTP服務器最大承載用戶
max_per_ip=5 #限制每個IP的進程
local_max_rate=256000 #最大傳輸速率(b/s)
hide_ids=YES #是否隱藏文件的所有者和組信息
idle_session_timeout= 3000 #空閒(發呆)用戶會話的超時時間,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線。單位為秒,默認值為300。
2>配置vsftpd.chroot_list
增加需要鎖定/非鎖定目錄的用戶(根據自己情況添加)
3>刪除vsftp默認訪問路徑
$ sudo rmdir /home/ftp 根據local_root定義的目錄,新建一個,以控制登陸用戶進入此目錄
4>重啟vsftp服務
$ /etc/init.d/vsftpd restart
注意一點,在設置用戶對文件的訪問權限時,注意如果要是登陸用戶有上傳的權限,則不僅要進行上述配置文件參數的設置,同時還要保證用戶對進入的目錄有寫的權利,一般可設為755,這就意味這可以通過對本地用戶本身的權限和FTP所配置的權限結合進行有效的訪問控制。