Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343603
  • 博文数量: 34
  • 博客积分: 1676
  • 博客等级: 上尉
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-31 08:50
文章分类
文章存档

2014年(2)

2013年(2)

2012年(8)

2011年(6)

2010年(3)

2009年(12)

2008年(1)

分类: LINUX

2012-03-07 18:02:09

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的策略配置】
阅读(3942) | 评论(2) | 转发(5) |
给主人留下些什么吧!~~

jsxjs2012-03-09 09:17:56

xep007: 很简练。希望能补充以下功能:
1.如果用户数多,一个个创建岂不是很麻烦,有没有较简便的方法。
2.如何对用户进行磁盘限额。.....
1.当有多用户时,可以先创设一个模板,然后有模板去做需要的修改,或者使用一些动态的变量比如%u等进行动态的连接和创建。
2.用户的磁盘配额功能是另一块内容,当然在FTP服务器里肯定是有应用的。这里只要对映射的ftpuser做磁盘映射,在单个用户的配置文件里设置一些控制也可。至于磁盘配额的相关内容,我后面会逐渐写出来的。
3.多谢你的宝贵意见,希望能够起到抛砖引玉的效果。谢谢。呵呵。

xep0072012-03-08 23:20:41

很简练。希望能补充以下功能:
1.如果用户数多,一个个创建岂不是很麻烦,有没有较简便的方法。
2.如何对用户进行磁盘限额。