綱要:
一, VsFTPd的簡述
二, 企業(yè)Linux下vsFTPD方案
三, VsFTPD相關(guān)配置文件詳解
一,VsFTPd的簡述:
VSFTP(Very Secure FTP Daemon,非常安全的FTP服務(wù)器)。顧名思義,VSFTPD設(shè)計(jì)的出發(fā)點(diǎn)就是安全性。同時(shí)隨著版本的 不斷升級(jí),VSFTPD在性能和穩(wěn)定性上也取得了極大的進(jìn)展。除了安全和性能方面很優(yōu)秀的外,還有很好的易用性。Red Hat公司在自己的FTP服務(wù)器 (ftp.redhat.com)上就使用了vsFTPd
二,企業(yè)Linux下vsFTPD實(shí)戰(zhàn)方案
要求:
1. 用戶:netseek_com;FTP:ftp.netseek.com(192.168.0.21,我已經(jīng)配置好了相關(guān)的DNS)
2. 禁止匿名登陸,禁止用戶離開用戶目錄
3. 命令通道端口使用5021,數(shù)據(jù)通道端口使用5020(你可以改成你想設(shè)置的端口如1021,1020)
4. 允許使用被動(dòng)模式使用端口范圍為10010~10020.
5. 用戶帶寬設(shè)置為200kps;用戶空間大小限制為300M,允許寬限期限內(nèi)有10MB的緩沖
具體操作步驟如下:
為了更完全的描述安裝全過程,我在我的另一臺(tái)主機(jī)(netseek)上進(jìn)行配置,在臺(tái)機(jī)IP:192.168.0.20上綁定了192.168.0.21,也配置好了相關(guān)的DNS解析,在這里我就不多說了請(qǐng)參照”Linux全能web服務(wù)器架設(shè)”。
1. 配置相關(guān)服務(wù)
啟動(dòng)服務(wù):
[root@netseek root]# #rpm –qa | grep vsftpd ;查看是否安裝vsftpd服務(wù)
#/etc/init.d/vsftpd start ;啟動(dòng)服務(wù)
#chkconfig vsftpd on ;讓系統(tǒng)服務(wù)隨著系統(tǒng)啟動(dòng)而啟動(dòng)
配置相關(guān)文檔:
#vi /etc/vsftpd/vsftpd.conf
禁止匿名用戶訪問:
anonymous_enable=YES,將YES改為NO
在文件末尾加如下的設(shè)置:
# new added by netseek
listen_port=5021 ;命令通道端口,默認(rèn)為21
listen_data_port=5020 ;數(shù)據(jù)通道端口,默認(rèn)為20
pasv_enable=YES ;允許被動(dòng)模式
pasv_min_port=10000 ;被動(dòng)模式使用端口范圍
pasv_max_port=10010
local_max_rate=200000 ;用戶寬帶限制
chroot_local_user=YES ;禁用戶離開主目錄
listen_address=192.168.0.21 ;讓他監(jiān)聽ip:192.168.0.21
注:在添加過程中請(qǐng)不要加上”;”和這些中文注釋,在這里我上為了方便大家了解才加上的。
2. 添加虛擬主機(jī)用戶
添加用戶netseek_com,用戶目錄指定為/var/www/netseek.com,且此用戶不能登陸系統(tǒng).
#mkdir /var/www/netseek.com
#useradd –s /sbin/nologin –d /var/www/netseek.com netseek_com
注-s /sbin/nologin是讓其不能登陸系統(tǒng),-d 是指定用戶目錄為/var/www/netseek.com
#passwd netseek_com (Do not Hack me 3ks) DnHm3ks 這是我設(shè)置的密碼Smile
#chown –R netseek_com:netseek_com /var/www/netseek.com
注:將用戶目錄及其子目錄的所有和所屬的組設(shè)置為netseek_com
3. 配置磁盤配額
我在安裝過程中磁盤了多個(gè)區(qū),分別/home,/var,/,/www,tmp,swap,/boot多個(gè)分區(qū)。建議你將磁盤分多個(gè)獨(dú)單的分區(qū),這樣可以降低磁盤分區(qū)損壞造成的數(shù)據(jù)丟失風(fēng)險(xiǎn).
#[root@netseek root]# rpm -qa | grep quota
quota-3.06-9 ; 我的系統(tǒng)已經(jīng)安裝了磁盤配額工具
#vi /etc/fstab
找到類似
LABEL=/var /var ext3 defaults 1 2
在defaults后加入usrquota,改為如下:
LABEL=/var /var ext3 defaults,usrquota 1 2
重新加載/var這個(gè)分區(qū):
#mount –o remount /var
#cd /var 進(jìn)入這個(gè)目錄
#touch quota.user
#chmod 600 quota.user
#quotacheck –mf /var 對(duì)磁盤分區(qū)空間使用情況進(jìn)行強(qiáng)制檢測(cè)
[root@localhost var]# quotacheck -mf /var
quotacheck: WARNING - Quotafile /var/quota.user was probably truncated. Can't save quota settings...
重新啟動(dòng)系統(tǒng)
第一次運(yùn)行時(shí)都會(huì)出現(xiàn)這個(gè)警告,再次運(yùn)行的時(shí)候就不會(huì)啦
為指定用戶定額:
#edquota netseek_com 為用戶netseek_com設(shè)置磁盤配額。
Disk quotas for user netseek_com (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sda5 6616 307200 0 15 0 0
注:
ilesystem blocks soft hard inodes soft hard
filesystem-正在設(shè)置的文件系統(tǒng),不要修改或刪除
bolock-當(dāng)前使用的碰盤空間,單位為KB
soft(第一個(gè))-軟磁盤空間限制,默認(rèn)0,表示無限制,我在這里設(shè)為300M。
hard(第一個(gè))-硬配額限制,0表示無限制。
inodes-當(dāng)前文件數(shù)量
soft(第二個(gè))-對(duì)文件數(shù)量的軟限制,0表示無限制
hard(第二個(gè))-對(duì)文件數(shù)量的硬限制,0表示無限制
讓系統(tǒng)啟動(dòng)是自動(dòng)加載:
#vi /etc/rc.d/rc.local ,加入以下:
/etc/init.d/vsftpd start
/sbin/quotacheck
/sbin/quotaon –avu
現(xiàn)在查看netseek_com 用戶使用磁盤空間的情況
[root@localhost ~]# quota -u netseek_com
Disk quotas for user netseek_com (uid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 6616 307200 0 15 0 0
注:關(guān)于更多的quota命令,請(qǐng)用man命令查看吧,烏哥(VBird)說,我們要學(xué)會(huì)找男人 !Smile
4. 效果演示,登陸演示:
四, VsFTPd相關(guān)的配置詳解
1.匿名用戶相關(guān)設(shè)置
anonymous_enable=YES ,將YES改為NO, 禁止匿名用戶登陸
#non_mkdir_write_enable=YES ,將#注釋去掉,允許匿名用戶創(chuàng)建目錄
#non_upload_enalbe=YES ,將#去掉,允許匿名用戶上傳
anon_world_readable_only=YES ,允許匿名用戶下載,默認(rèn)是禁止的,這個(gè)可以自行添加。
Anon_other_write_enable=YES ,將其設(shè)為YES的話,就除了上傳和創(chuàng)建目錄外,還可以重命名,刪除文件,默認(rèn)是NO
no_anon_password=NO ,將其設(shè)為YES,匿名用戶不會(huì)查詢用戶密碼直接登陸。
ftp_username=ftp ,匿名用戶登陸系統(tǒng)的賬號(hào)默認(rèn)為ftp,此項(xiàng)最好不要改,否則設(shè)置不當(dāng)會(huì)給系統(tǒng)的安全帶來威脅。
2.FTP服務(wù)端口的指定
listen_port=8021 ,指定命令通道為8021,默認(rèn)為21
listen_data_port=8020 ,指定數(shù)據(jù)通道為8020,默認(rèn)為20
3.上傳模式的設(shè)置
pasv_enable=YES ,是否允使用被動(dòng)模式,默認(rèn)是允許的。
pasv_min_port=10000 ,指定使用被動(dòng)模式時(shí)打開端口的最小值
pasv_max_port=10004 ,指定使用被動(dòng)模式時(shí)打開端口的最大值。
4.Vsftp服務(wù)器指定IP地址
listen_address=192.168.0.21 ,指定FTP,IP地址
注:只有當(dāng)vsftp運(yùn)行于獨(dú)立模式時(shí)才允許使用指定IP,如果在/etc/xinetd.d目錄下已經(jīng)建立了vsfpd文件,就要將該文件中的disable設(shè)置為yes,方可。
5. 鎖定用戶,禁止用戶離開用戶主目錄
chroot_local_user=YES ,將其設(shè)為YES,就鎖定在用戶主目錄,設(shè)為NO,可以切換
將指定用戶設(shè)置為鎖定用戶主目錄:
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
將其改為如下:
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
將上面保存,再做如下操作:
#touch /etc/vsftpd/vsftpd.chroot_list
#vi /etc/vsftpd/vsftpd.chroot_list ,在該文件中加入用戶名單,如:
netseek_com
6.FTP服務(wù)器的流量控制
max_clients=100 ;允許的最大連接數(shù),定義為100,默認(rèn)為0,表沒有限制
max_per_ip=5 ;每個(gè)IP允許的連接數(shù),0表沒有限制,需要運(yùn)行于獨(dú)立模式方可
anon_max_rate=50000 ;匿名用戶最大帶寬,單位為bps
local_max_rate=200000 ;系統(tǒng)用戶最大帶寬
如何對(duì)指定用戶進(jìn)行流量限制呢?
#vi /etc/vsftpd/vsftpd.conf,添加一行:
user_config_dir=/etc/vsftpd/userconf
#touch /etc/vsftpd/userconf/netseek_com 為netseek_com這個(gè)用戶建立一個(gè)netseek_com文件
#vi /etc/vsftpd/userconf/netseek_com 添加以下內(nèi)容
local_max_rate=100000
保存重啟服務(wù)即可.
7.定制歡迎信息
目錄說明設(shè)置
#vi /etc/vsftpd/vsftpd.conf
#dirmessage_enable=YES,前的#去掉。
然后我們定制一個(gè).message,寫上你想寫的東西,然后把這個(gè)文件復(fù)制到各個(gè)用戶的家目錄中,就OK。
系統(tǒng)歡迎消息設(shè)置
ftpd_banner=Welcome to ftp.netseek.com , Yeah!!!
系統(tǒng)歡迎消息文件設(shè)置
banner_file=/etc/vsftpd/welcome 與ftpd_banner相類似,不同之處在于,banner_file指定歡迎文