一、安裝環(huán)境:
1.1.操作系統(tǒng):
操作系統(tǒng):centOS6.6最小化安裝
1)查看linux系統(tǒng)環(huán)境
[root@VM3~]# cat /etc/redhat-release
CentOSrelease 6.6 (Final)
[root@VM3~]#? uname -r
2.6.32-504.el6.x86_64
[root@VM3~]# uname -m
x86_64
提示:也可以用uname -a
2)
外網(wǎng):192.168.0.76/24
內(nèi)網(wǎng):192.168.3.76/24
1.2.關(guān)閉iptables和selinux
服務(wù)器端和客戶端同時操作
1)關(guān)閉iptables
service iptables stop
chkconfig iptables off
不關(guān)閉也可以要讓其端口通過防火墻
#使用被動模式指定5000-5100為被動
-A INPUT mstate --state NEW m tcp p dport 5000:50100?j ACCEPT
#下面是centOS7的,關(guān)閉防火墻
#停止firewall
systemctl stop firewalld.service
#禁止firewall開機啟動
systemctl disable firewalld.servic
2)關(guān)閉selinux
臨時關(guān)閉:setenforce 0
永久性關(guān)閉:
vi/etc/selinux/config
把SELINUX=enforcing 改為SELINUX=disabled
shutdown -rnow
所用的軟件:
3)時間同步(非必要)
yuminstall ntp -y
/usr/sbin/ntpdatepool.ntp.org
echo'#time sync by hua at 2015.7.2'>>/var/spool/cron/root
echo'*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1'>>/var/spool/cron/root
crontab-l
#或者用*/30 * * * * ntpdate 121.9.213.10’
二、vsFTP安裝及配置
2.1.yum安裝vsFTP
rpm -qa | grepvsftpd
yum -y installvsftpd
chkconfig vsftpd on
[root@VM3 vsftpd]# rpm -qa | grep vsftpd
vsftpd-2.2.2-14.el6.x86_64
2.2.基于虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設(shè)置權(quán)限的目的。虛擬用戶不能登錄CentOS系統(tǒng)。
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak
1)vi vsftpd.conf
#設(shè)定本地用戶可以訪問。如使用虛擬宿主用戶,在該項目設(shè)定為NO的情況下所有虛擬用戶將無法訪問,默認為yes
local_enable=YES
chroot_list_enable=YES
#使用戶不能離開主目錄 默認為yes
ascii_upload_enable=YES
#默認為yes
ascii_download_enable=YES #
設(shè)定支持ASCII模式的上傳和下載功能,默認為yes
pam_service_name=vsftpd #PAM認證文件名。PAM將根據(jù)/etc/pam.d/vsftpd進行認證,默認已經(jīng)添加
#以下可以在單獨用戶文件配置,也可以在個人用戶配置文件配置,但對針對某個用戶生效。
anonymous_enable=NO
#設(shè)定不允許匿名訪問 默認為yes
注:以上用默認就行,基本上不用修改
2)虛擬用戶配置項
以下這些是關(guān)于vsftpd虛擬用戶支持的重要配置項,默認vsftpd.conf中不包含這些設(shè)定項目,需要自己手動添加
guest_enable=YES?#設(shè)定啟用虛擬用戶功能,可以不要在個人配置那里設(shè)置
#guest_username=ftp?#
指定虛擬用戶的宿主用戶,CentOS中已經(jīng)有內(nèi)置的ftp用戶了
#基于hua用戶的權(quán)限,就是hua什么權(quán)限虛擬用戶就有什么權(quán)限,可以在個人配置里設(shè)置
guest_username=hua
#設(shè)定虛擬用戶個人vsftp的CentOS FTP服務(wù)文件存放路徑
#放虛擬用戶個性的CentOS FTP服務(wù)文件(配置文件名=虛擬用戶名)
?#需要自己建立目錄mkdir /etc/vsftpd/vuser_conf
user_config_dir=/etc/vsftpd/vuser_conf
簡寫:
guest_enable=YES
guest_username=系統(tǒng)用戶名
user_config_dir=虛擬用戶配置文件路徑
3)最終配置
[root@VM3vsftpd]# egrep? -v "^#|^$"vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vuser_conf
pasv_enable=YES
pasv_min_port=5000
pasv_max_port=5100
pasv_promiscuous=YES
3)進行認證
①安裝Berkeley
DB工具
很多人找不到db_load的問題就是沒有安裝這個包。
yum install db4 db4-utils -y
路徑/etc/vsftpd/vuser_passwd.txt,注意奇行是用戶名,偶行是密碼
vi vuser_passwd.txt
t1
123456
③生成虛擬用戶認證的db文件
db_load-T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
④編輯認證文件/etc/pam.d/vsftpd
[root@VM3~]# find / -name pam_userdb.so
/lib64/security/pam_userdb.so
從上面的得到so 路徑為/lib64/security/pam_userdb.so
編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
authrequired pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

mkdir /etc/vsftpd/vuser_conf
cd /etc/vsftpd/vuser_conf/
vi t1(注文件文件要與用戶名一樣)
local_root=/home/hua/tools
local_umask=022
write_enable=YES
guest_enable=yes
guest_username=hua
anonymous_enable=no
anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_umask=022
servicevsftpd start
4)配置PASV模式
vsftpd默認沒有開啟PASV模式,現(xiàn)在FTP只能通過PORT模式連接,要開啟PASV默認需①通過下面的配置打開/etc/vsftpd/vsftpd.conf,在末尾添加
#byhua 2015.10.26
pasv_enable=YES
//開啟PASV模式
pasv_min_port=5000//最小端口號
pasv_max_port=5100
//最大端口號
pasv_promiscuous=YES
②在防火墻配置內(nèi)開啟端口
iptables -A INPUT m state --state NEW m tcp p dport 50000:50100 j ACCEPT
5)測試VSFTP結(jié)果
在win7在安裝cuteftppro FTP客戶端軟件

登陸測試,上傳,下載,刪除都可以