中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>服务器>FTP>列表

实战vsftp-2.04配置

来源: 作者: 时间:2008-01-23 点击:

       5.高级配置vsftpd.conf,增加对每个虚拟用户的配置,并对每个虚拟用户详细权限进行配置。
         创建/etc/vsftpd_user_conf目录,并在其下分别为虚拟用户test,test1,test2增加test,test1,test2三个配置文件。
        # mkdir /etc/vsftpd_user_conf
        # cd /etc/vsftpd_user_conf
        # touch test test1 test2
        #test,test1,test2配置文件根据需要设置相关vsftp的权限,比如test用户可以下载上传,修改,test文件内容如下:
        
            write_enable=YES
            anon_upload_enable=YES
            anon_mkdir_write_enable=YES
            anon_other_write_enable=YES
            anon_world_readable_only=NO  //可以浏览和下载有相关权限的文件(其他用户有可读和可执行权限)

        #主配置文件vsftpd.conf内容如下:

         # Standalone mode
         listen=YES
         listen_address=192.168.1.100 //可以通过域名来访问vsftp
         #tcp_wrappers=YES
         # Access rights
         anonymous_enable=NO
         #anon_root=/var/ftp
         local_enable=YES  //一定要yes,否则ftp登入会提示,本地用户和匿名用户都没有访问权限的提示
         write_enable=NO
         anon_upload_enable=NO
         anon_mkdir_write_enable=NO
         anon_other_write_enable=NO
         guest_enable=YES
         guest_username=virtual       //这两行的意思是采用虚拟用户形式
         virtual_use_local_privs=YES //虚拟用户和本地用户权限相同
         #
         #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
         user_config_dir=/etc/vsftpd_user_conf //增加对每个虚拟用户的配置
         #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
         #
         # Security
         anon_world_readable_only=YES  //不可以浏览和下载有相关权限的文件(其他用户有可读和可执行权限)
         connect_from_port_20=YES
         hide_ids=YES
         pasv_min_port=50000
         pasv_max_port=60000
         # Features
         dirmessage_enable=YES
         xferlog_enable=YES  
         xferlog_file=/var/log/vsftpd.log
         xferlog_std_format=YES
         xferlog_enable=YES
         ls_recurse_enable=NO
         ascii_download_enable=NO
         async_abor_enable=YES
         ftpd_banner=Welcome to xiutuo.com FTP service.
         # Performance
         one_process_model=YES
         idle_session_timeout=120
         data_connection_timeout=300
         accept_timeout=60
         connect_timeout=60
         anon_max_rate=50000
         max_clients=200
         max_per_ip=4
         check_shell=NO
     b.基于mysql的pam认证的虚拟用户配置
       1.下载pam-mysql到/home/xiutuo/software,
          下载地址:http://nchc.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.5.tar.gz
       2.安装
         # cd /home/xiutuo/software
         # tar -zvxf pam_mysql-0.5.tar.gz
         # cd pam_mysql-0.5
         # make
         # cp pam_mysql.so /lib/security
        3.创建真实用户与虚拟用户的映射
         # useradd virtual
         # passwd virtual
         #必要时使用 : useradd -d /home/ftpsite -s /sbin/nologin virtual
        4.创建数据库
          # cd /usr/local/mysql/bin/
          # ./mysql –u root -h localhost -p
            mysql>create database ftpd;
            mysql>use ftpd;
            mysql>create table user(name char(20) binary,passwd char(20) binary);
            mysql>insert into user (name,passwd) values ('test','password');
            mysql>insert into user (name,passwd) values ('test1','password1');
            mysql>insert into user (name,passwd) values ('test2','password2');
            mysql>grant select on ftpd.user to virtual@localhost identified by '123456';
        5.建立认证文件
         # cd /etc/pam.d/
         # touch ftp   //如果有就不用生成了。
         # vi ftp      //内容如下:

         auth required /lib/security/pam_mysql.so user=virtual passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0

         account required /lib/security/pam_mysql.so user=virtual passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
       
           #注意:
           #crypt= n
           #crypt=0: 明文密码
           #crypt=1: 使用crpyt()函数(对应SQL数据里的encrypt(),encrypt()随机产生salt)
           #crypt=2: 使用MYSQL中的password()函数加密
           #crypt=3:表示使用md5的散列方式
         6.详细的vsftpd.conf与具体的虚拟用户的配置跟基于db的虚拟用户配置步骤4和步骤5一样。

        c.对用户做磁盘限额,限额功能是系统自带,不是vsftp功能!
          对virtual用户主目录:/home/ftpsite/限制,修改/etc/fstab文件,重新挂载/home所在分区,或者重新启动计算机
          1.编辑/etc/fstab文件,重新挂载/home所在分区,或者重新启动计算机,使限额功能生效
          # vi /etc/fstab
           把
           LABEL=/home   /home   ext3    defaults     1 2
           修改为:
           LABEL=/home   /home   ext3    defaults,usrquota     1 2
           或者:
           LABEL=/home   /home   ext3    defaults,usrquota,grpquota     1 2
          # reboot
          或者
          # mount -o remount /dev/sda2  // 其中/dev/sda2的挂接点就是/home,这样可以不用启动系统。
          # quotacheck -avu             //说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额or g-启用组配额
          2.限额配置文件的修改
          # edquota virtual //为用户virtual设置磁盘配额
          或者:
          # edquota -g grp  //为组grp设置磁盘配额
          系统会自动打开配额文件,如下:
          Disk quotas for user virtual (uid 502):
          Filesystem         blocks       soft       hard     inodes     soft     hard
           /dev/sda2           424          0          0         13        0        0
          #第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数,单位为KB。随后的两列用来设置用户在该文件系统上的软硬块限度。
          inodes 列显示了用户当前使用的i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可以使用的磁盘空间的
          绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段
          时期内被超过。这段时期被称为过渡期(grace period),默认七天的超越。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果
          以上值中的任何一个被设置为 0,那个限度就不会被设置。我设置了硬块限度为1KB,是为了测试方便。
          # quotaon  -avu  //打开磁盘配额监控进程,u是用户g是组,这里我没设置g参数
           要校验用户的配额是否被设置,我们可以使用以下命令:
          # quota virtual
            Disk quotas for user virtual (uid 502):
            Filesystem  blocks   quota   limit    grace   files   quota   limit   grace
            /dev/sda2     424*    0      1            13      0      0       
          # edquota –t(-g)来设置过渡期(grace period) //当然只针对软限制而言和另一个 edquota 命令相似,这个命令也会在文本编辑器中
            打开当前的文件系统配额:
            Grace period before enforcing soft limits for users:
            Time units may be: days, hours, minutes, or seconds
            Filesystem             Block grace period     Inode grace period
             /dev/sda2                     7days                  7days
          按你的需要修改后存盘退出
          用以下命令显示磁盘配额使用状态
          # repquota  -a  或 repquota  /dev/sda2(用户配额)
          # repquota -g -a 或 repquota -a /dev/sda2 (组的配额)

上一篇:PureFTPd配置文件翻译
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册