最新消息:

创建基于虚拟用户的vsftp服务器(转)

Linux FTP 大步 937浏览 0评论

原文链接:http://www.e2fsck.org/create-a-vsftp-server-based-on-virtual-users.html

者:e2fsck

前言: 其实基于系统用户的vsftp已经够用了,但网上传说,人多了后对系统开销有影响。

这次是在 CentOS 5.8 32位上面做的实验

第一步 安装 vsftpd 极其工具

1. 用 yum 安装

[root@xen ~]# yum install vsftpd

2. 创建日志文件

[root@xen ~]# touch /var/log/vsftpd.log

3. 安装 Berkeley DB

[root@xen ~]# yum install db4 db4-utils

第二步 配置 vsftpd

1. 修改主配置文件

[root@xen ~]# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO      #这句是把匿名登陆关闭

xferlog_file=/var/log/vsftpd.log       #把这句取消注释,并且修改文件名

ascii_upload_enable=YES                #这样就支持 ASCII 模式上传
ascii_download_enable=YES              #这样就支持 ASCII 模式下载

chroot_list_enable=YES                 #限制用户在主目录

chroot_list_file=/etc/vsftpd/chroot_list      #这里添加限制帐号用

添加下面3行

guest_enable=YES                       #设置开启虚拟用户
guest_username=ftp                     #指定虚拟用户的宿主用户
user_config_dir=/etc/vsftpd/vuser_conf        #虚拟用户个人配置文件

第三步 虚拟用户设置

1. 编辑 chroot_list 文件,加入用户 ftp

[root@xen ~]# vi /etc/vsftpd/chroot_list

ftp

2. 创建用户密码文件

[root@xen ~]# vi /etc/vsftpd/vuser_passwd.txt

user1        #这行是用户
pass1        #这行是密码
user2        #这行是用户
pass2        #这行是密码

3. 生成虚拟用户认证的数据库

[root@xen ~]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

4. 编辑认证文件

[root@xen ~]# mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

[root@xen ~]# vi /etc/pam.d/vsftpd

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

5. 创建虚拟用户的配置文件和目录

[root@xen ~]# mkdir /etc/vsftpd/vuser_conf

[root@xen ~]# vi /etc/vsftpd/vuser_conf/user1

local_root=/var/ftp/user1
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enanble=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

virtual_use_local_privs=YES

[root@xen ~]# mkdir /var/ftp/user1

[root@xen ~]# chmod 777 /var/ftp/user1

第四步 启动和防火墙等设置

1. 启动 vsftpd

[root@xen ~]# service vsftpd restart

2. 如果开启了 iptables

要开放 20 和 21 端口

第五步 客户端连接

转自 http://www.e2fsck.org

1. 如果提示:

响应: 500 OOPS: unrecognised variable in config file: anon_upload_enanble

检查配置文件,在这句 non_upload_enanble 最后不要有任何空格等

转载请注明:大步's Blog » 创建基于虚拟用户的vsftp服务器(转)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap