Linux搭建高效FTP虚拟用户全过程

  VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

  以下全过程是在Centos 5 下操作演示的。

  安装 vsftp

  yum install vsftpd

  创建日志文件

  touch /data1/logs/vsftpd.log

  修改 vsftp 配置文件

  vi /etc/vsftpd/vsftpd.conf

  参数设置,注意:输入“/欲查找内容”可以快速查找,千万不能出现多余的空格

  anonymous_enable=NO #不允许匿名访问

  local_enable=YES #本地用户可以访问

  chroot_list_enable=YES #使用户不能离开主目录

  xferlog_file=/var/log/vsftpd.log #vsftpd的服务日志保存路径,默认不存在

  ascii_upload_enable=YES #允许上传

  ascii_download_enable=YES #支持ASCII模式的下载功能

  pam_service_name=vsftpd #千万别忘记添加

  手工输入以下参数和值

  guest_enable=YES #开启虚拟用户的功能

  guest_username=ftp #虚拟用户隶属于它

  user_config_dir=/etc/vsftpd/vuser_user

  创建 chroot list

  touch /etc/vsftpd/list

  echo ftp>>/etc/vsftpd/list

  进行认证,db_load 找不到的话就先安装 db4-utils(yum install db4 db4-utils)

  vi /etc/vsftpd/vsftp_users.conf

  输入奇数为账号,偶数为密码

  www_lingdus_com #账号

  www_lingdus_com #密码

  生成认证文件

  db_load -T -t hash -f /etc/vsftpd/vsftp_users.conf /etc/vsftpd/vsftp_users.db

  编辑认证文件,清空或注释文件中全部内容

  vi /etc/pam.d/vsftpd

  清空之后,再输

  auth required pam_userdb.so db=/etc/vsftpd/vsftp_users

  account required pam_userdb.so db=/etc/vsftpd/vsftp_users

  自定义用户

  mkdir /etc/vsftpd/users/

  vi /etc/vsftpd/vuser_conf/www_lingdus_com

  添加以下内容

  local_root=/data0/htdocs/lingdus/bbs #它根目录

  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

  OK了,启动或重启 vsftp

  service vsftpd restart(重启 restart)

  可以连接FTP了

  ip:XXX.XXX.XXX.XXX

  端口:21

  账号:www_lingdus_com

  密码:www_lingdus_com

  连接 FTP 时若提示错误:553 Could not create file 或不能上传错误,则关闭SElinux

  终端:setsebool -P ftpd_disable_trans 1

  重启:service vsftpd restart

  或者把

  guest_username=ftp #虚拟用户隶属于它

  更改为

  guest_username=root #虚拟用户隶属于它

  重启:service vsftpd restart

  启动或连接 FTP 时提示错误:500 OOPS: bad bool value in config file for: XXX

  很有可能是在弄参数的时候,弄了多余的空格,或参数项搞错了,应仔细检查。

  本教程出自零度技术论坛,原文链接:http://www.lingdus.com/thread-4809-1-1.html