CentOS 6.3_64位搭建FTP服务器
1、挂载光盘,建议配置yum(使用yum安装可省去依赖包麻烦)本文使用rpm包安装
mkdir /mnt/cdrom //创建挂载光盘路径
mount /dev/cdrom /mnt/cdrom //挂载光盘
ls /mnt/cdrom/ //出现如下图文件,说明光盘挂载成功

2、安装vsftp,建议使用yum安装,省去依赖包麻烦,本文未遇到。cd /mnt/cdrom/Packages/ //进入rpm包位置
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm //FTP核心文件 rpm -ivh db4-4.7.25-17.el6.x86_64.rpm //虚拟用户必要工具

3、修改配置文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak //备份
vi /etc/vsftpd/vsftpd.conf //创建配置文件
列出我的配置,根据环境修改做适当修改,注意每行后面不可有空格
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
nopriv_user=ftpde
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#You need to add content
background=YES
guest_enable=YES
guest_username=ftpde
user_config_dir=/etc/vsftpd/user_config
max_clients=100
max_per_ip=20
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

4、创建本地用户ftpde 以及chroot虚拟用户映射文件
useradd ftpde //创建ftpde用户,此用户为系统用户
vi /etc/vsftpd/vsftpd.chroot_list
ftpde //该文件为手动建立,每一行代表一个欲将虚拟用户映射到本地账户的名称

5、创建用户账户文件passwd.file
该文件默认也不存在的,该文件用来存储用户账户以及明文密码,格式为每个账户两行,第一行是用户名,第二行是密码,以此类推!
vi /etc/vsftpd/passwd.file
ftpdemo
123456

6、生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/passwd.file /etc/vsftpd/ftpuser_passwd.db
7、创建用户配置文件
建立好账户后,需要为每个用户创建记录FTP目录位置、用户权限等信息的配置文件
mkdir /etc/vsftpd/user_config
配置文件以FTP用户名为文件名称,每个FTP用户一个文件,例如ftedemo
vi /etc/vsftpd/user_config/ftpdemo
内容如下:
local_root=/data/FTP/ftpuser //该路径对应的目录必须存在,下一步创建
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

8、创建ftp用户目录,并赋读/写权限
mkdir -p /data/FTP/ftpdemo
FTP 用户所映射到的系统帐户必须对 FTP 用户主目录拥有相应的读/写权限。仍然以ftpdemo用户为例,本文中ftpdemo虚拟用户是被映射到ftpde系统帐户的,所以 ftpde 系统帐户必须拥有对ftpdemo 的 FTP 主目录/data/FTP/ftpuser 的读/写权限
chown -R ftpde:ftpde /data/FTP/ftpdemo/
9、修改Pam 认证模块
备份原有配置文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
创建新配置文件
vi /etc/pam.d/vsftpd具体内容如下:
auth required pam_userdb.so db=/etc/vsftpd/ftpuser_passwd
account required pam_userdb.so db=/etc/vsftpd/ftpuser_passwd

10、修改防火墙
vi /etc/sysconfig/iptables
配置如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 6000:7000 -j ACCEPT
重起防火墙,使配置生郊
service iptables restart

11、关闭selinux
setenforce 0 //临时关闭,重起系统失效
或者修改selinux配置关闭selinux
vi /etc/selinux/config
SELINUX=disable
12、我的电脑以及dos窗口测试

