分享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