编译安装

# mkdir -p /usr/local/man/man8
# mkdir -p /usr/local/man/man5

# yum -y install tcp_wrappers*
# yum -y install pam*
# yum -y install db4*
# yum -y install libcap*

# wget -c http://down1.chinaunix.net/distfiles/vsftpd-2.3.4.tar.gz
# tar -xvzf vsftpd-2.3.4.tar.gz
# cd vsftpd-2.3.4


支持的认证类型
# vim builddefs.h
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

# make
# make install

# mkdir /etc/vsftpd
# cp vsftpd.conf /etc/vsftpd


启动脚本
# vim /etc/init.d/vsftpd 【见附件】
# chmod +x /etc/init.d/vsftpd
# chkconfig --level 235 vsftpd on


日志目录
# mkdir -p /data3/ftp_logs
# vi /etc/vsftpd/vsftpd.conf 【见附件】

# touch /data3/ftp_logs/vsftpd.log
# touch /etc/vsftpd/chroot_list
# touch /etc/vsftpd.user_list
# mkdir /etc/vsftpd/vconf


创建用户列表【第一行为用户名,第二行为密码】
# vi /etc/vsftpd/virtusers
blaze
123456789


创建用户数据库文件
# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
# chmod 600 /etc/vsftpd/virtusers.db


创建PAM认证文件
# vim /etc/pam.d/vsftpd 【见附件】
[注:x64环境下,路径不一样]


创建针对 blaze 用户的配置文件
# vim /etc/vsftpd/vconf/blaze
local_root=/data1/www
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000


防火墙设置
# iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
# iptables -I OUTPUT -p tcp --dport 21 -j ACCEPT

# modprobe ip_conntrack_ftp
# modprobe ip_nat_ftp


# vi /etc/sysconfig/iptables
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-I INPUT -p tcp --dport 21 -j ACCEPT
-I OUTPUT -p tcp --dport 21 -j ACCEPT


# vi /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"