Chinaunix首页 | 论坛 | 博客
  • 博客访问: 354799
  • 博文数量: 213
  • 博客积分: 566
  • 博客等级: 中士
  • 技术积分: 1210
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-21 13:09
文章分类

全部博文(213)

文章存档

2015年(1)

2013年(7)

2012年(128)

2011年(77)

分类:

2012-03-08 18:01:58

linux下vsftpd服务器可以实现很多ftp服务器共有的性能,但其具有的虚拟用户功能却是搭建高性能ftp服务器的不二选择。下面以我的实际搭建过程呈现vsftp下虚拟用户的实施过程。
=============================================================================================
1.需要安装的包:vsftpd、db4、db4-utils
2.创建含有虚拟用户的用户名和密码的文件(文件中用户名和密码各占一行且不空格
    vi /etc/vsftpd/virtualuser
    cat /etc/vsftpd/virtualuser
         ftp1
         123
         ftp2
         123
3.执行如下命令生成虚拟用户数据库:
    db_load -T -t hash -f /etc/vsftpd/virtualuser  /etc/vsftpd/virtualuserdb.db
4.创建用户认证数据文件
    vi /etc/pam.d/vsftpd.vu
    cat /etc/pam.d/vsftpd.vu
        auth    required pam_userdb.so db=/etc/vsftpd/virtualuserdb
        account required pam_userdb.so db=/etc/vsftpd/virtualuserdb
     【在CentOS6.4中,此处用sufficient代替required
5.创建ftp虚拟用户对应的本地用户账户(禁止本地登录
    useradd -d /home/virtualftp   -s /sbin/nologin  ftpuser
6.创建各虚拟用户的主目录并更改属性
    mkdir /home/virtualftp/ftp1
    mkdir /home/virtualftp/ftp2
    chown ftpuser.ftpuser  /home/virtual/ftp1
    chown ftpuser.ftpuser  /home/virtual/ftp2
7.在vsftp.conf主配文件后加入如下内容:
    guest_enable=YES
    guest_username=ftp
    virtual_use_local_privs=YES
    user_config_dir=/etc/vsftpd/vconf
    pam_service_name=/etc/pam.d/vsftpd.vu
8.为每个虚拟用户创建一个同名的配置文件,内容如下:(这里就是为每个虚拟用户设置不同的属性)
    vi /etc/vsftpd/vconf/ftp1
        local_root=/home/virtualftp/ftp1    指定虚拟用户的具体主路径。
        anonymous_enable=NO    设定不允许匿名用户访问。
        write_enable=YES    设定允许写操作。
        file_open_mode=0444    设置以只读权限打开文件
        anon_umask=022    设定上传文件权限掩码。
        anon_upload_enable=NO    设定不允许匿名用户上传。
        anon_mkdir_write_enable=NO    设定不允许匿名用户建立目录。
        idle_session_timeout=600    设定空闲连接超时时间。
        data_connection_timeout=120    设定单次连续传输最大时间。
        max_clients=10    设定并发客户端访问个数。
        max_per_ip=5    设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件。
        local_max_rate=50000    设定该用户的最大传输速率,单位b/s。
    /etc/vsftpd/vconf/ftp2的配置与ftp1一致,可以在该文件中设置更多的访问控制权限。
9.重新启动vsftp服务
    service vsftpd restart
10.客户端测试
在客户端登录该ftp服务器,使用ftp1/123或ftp2/123登录查看效果。

【提示:测试时,请注意你的iptables和selinux的策略配置】
阅读(474) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~