CentOS 6.3 64bit 搭建vsFTP服务

MicHoinvill 9年前

来自: http://jingyan.baidu.com/article/03b2f78c771db45ea237ae28.html


1、废话少说,开始吧。  找到你的centos版本的镜像文件,去到里面这个路径,找到并安装两个rpm  rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm  //FTP核心文件  rpm -ivh db4-4.7.25-17.el6.x86_64.rpm  //虚拟用户必要工具      2、修改配置文件 (下面的 //中文建议都去掉吧,避免问题,这里加上只是解析一下)  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  listen_port=40001  pasv_min_port=40002  pasv_max_port=40010    3、创建本地用户ftpde 以及chroot虚拟用户映射文件  useradd ftpde //创建ftpde用户,此用户为系统用户  vi /etc/vsftpd/vsftpd.chroot_list  ftpde     //该文件为手动建立,每一行代表一个欲将虚拟用户映射到本地账户的名称    4、创建用户账户文件passwd.file  该文件默认也不存在的,该文件用来存储用户账户以及明文密码,格式为每个账户两行,第一行是用户名,第二行是密码,以此类推!  vi /etc/vsftpd/passwd.file  ftpdemo  123456      5、生成虚拟用户认证的db文件,执行下面命令  db_load -T -t hash -f /etc/vsftpd/passwd.file /etc/vsftpd/ftpuser_passwd.db      6、创建用户配置文件(ftpdemo只是一个样例账号,自己可以另外取名,然后各个地方对应好,即可)  建立好账户后,需要为每个用户创建记录FTP目录位置、用户权限等信息的配置文件    mkdir /etc/vsftpd/user_config    配置文件以FTP用户名为文件名称,每个FTP用户一个文件,例如ftedemo  vi /etc/vsftpd/user_config/ftpdemo    内容如下(//中文的内容, 建议去掉):  local_root=/data/FTP/ftpdemo                //该路径对应的目录必须存在,下一步创建  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      7、创建ftp用户目录,并赋读/写权限  mkdir -p /data/FTP/ftpdemo      FTP   用户所映射到的系统帐户必须对 FTP   用户主目录拥有相应的读/写权限。仍然以ftpdemo用户为例,本文中ftpdemo虚拟用户是被映射到ftpde系统帐户的,所以 ftpde   系统帐户必须拥有对ftpdemo 的 FTP 主目录/data/FTP/ftpuser 的读/写权限    chown -R ftpde:ftpde /data/FTP/ftpdemo/    8、修改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    9、修改防火墙  vi /etc/sysconfig/iptables    配置如下:    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  -A INPUT -m state --state NEW -m tcp -p tcp --dport 40001:40010 -j ACCEPT    重起防火墙,使配置生郊    service iptables restart    10、关闭selinux    setenforce 0  //临时关闭,重起系统失效    或者修改selinux配置关闭selinux    vi /etc/selinux/config     SELINUX=disable  或者其他的各种方法:  如果出现:“500 OOPS: cannot change directory:/home/xxx”  参考解决:     11、重启vsftp  service vsftpd restart    12、使用FTP等工具试试吧。个人使用filezilla很不错。