【案例】
1、新建一个分区,10G空间,ext3文件系统,挂载到ftp下,作为ftp服务器数据存放
2、建立三个部门,dep1,dep2,dep3,分别对应目录/ftp/dep1,/ftp/dep2,/ftp/dep3,另外设定一个公共
目录/ftp/public
3、四个用户:admin,user1,user2,user3,其中user1,user2,user3分别对应部门dep1,dep2,dep3,他们只能
访问自己所属的部门的目录和public目录,如:user1只能访问dep1和public目录,不能访问其他目录,
admin为管理员用户,可以访问/ftp服务器上的任何目录
4、用户访问权限限制:user1,user2,user3在所能访问的目录,具有上传文件、下载文件的功能,但是不能
够删除文件,更改文件权限等功能,admin管理员用户对所有目录具有上传、下载、删除、权限更改功能
5、对每个部门定制一个quota磁盘配额,设置账户的文件配额为1000个,磁盘配额为2G
6、匿名用户不能访问

步骤:
 (1)先分区,先增加一个硬盘,或者对一个空余硬盘分区,然后格式化,后挂载上去
 (2)在/ftp下创建对应的目录/ftp/dep1,/ftp/dep2,/ftp/dep3,/ftp/public
 (3)建立四个组:   

  1. # groupadd dep1  
  2. # groupadd dep2  
  3. # groupadd dep3  
  4. # groupadd abc(abc表示公司的组)  

 (4)建立四个用户,每个用户属于自己对于的组,同时也属于admin组,admin为管理员用户

  1. # useradd -G dep1,abc user1  (user1用户同时属于dep1部门组和abc公司组)  
  2. # useradd -G dep2,abc user2  
  3. # useradd -G dep3,abc user3  
  4. # useradd -G abc,dep1,dep2,dep3  admin  (admin用户同时属于各个部门的组和公司组)  

(5)设置密码:# passwd user1  .....
 (6)对/ftp下目录授权:    

  1. # chmod 770 /ftp/dep1 ... # chmod 770 /ftp/dep2 ....  
  2.  # chown user1:dep1 /ftp/dep1  
  3.  # chown user2:dep2 /ftp/dep2  
  4.  # chown user3:dep3 /ftp/dep3  
  5.  # chown admin:abc  /ftp/public  

 (7)磁盘配额:
   

  1. # 先卸载分区 #umount /ftp  
  2.    # mount /dev/sdb1 /ftp -o usrquota,grpquota  
  3.    # quotacheck -cvug /dev/sdb1  
  4.    # edquota -u user1(对user1进行磁盘配额)  
  5.   Disk quota for user user1 (uid 500):  
  6.    Filesystem   blocks  soft  hard inodes soft   
  7.     hard  
  8.    /dev/sdb1   4   1024000  2048000  1  500  1000  
  9.      
  10.    # edquota -u -p user1 user2  
  11.    #dequota -u -p user1 user3  
  12.    # vim /ect/fstab(开机自动挂载)  

 (8)编辑vsftpd配置文件:# vim /etc/vsftpd/vsftpd.conf
  添加内容:

  1. #anonymous_enable=NO 
  2. #local_root=/ftp  
  3. #user_config_dir=/etc/vsftpd/user_configfile (这个文件主要作用是用来限制用户所具有的权限,如本例中我们需要  
  4.           (对user1,user2,user3用户进行限制,使具有上传和下载权限,没有删除和创建权限)  
  5. 开启 #chroot_list_enable=YES 
  6.     #chroot_list_file=/etc/vsftpd/chroot_list   

 
 (9)创建这两个文件

  1. # mkdir /etc/vsftpd/user_configfile  
  2.         # touch user1 ....(分别创建user2,user3,里面添加一样的内容,使其具有相同的权限)  
  3.         # vim user1 内容:   
  4.    cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,HELP,LIST,MODE,MDTM,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER  
  5. (正常具有的的一些权限为:cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,DELE,HELP,LIST,MODE,MDTM,MKD,NOOP,NLST,PASS,PASV,PASS,PORT,PWD,QUIT,REIN,RETR,RMD,RNTO,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER)  
  6.       # cd /etc/vsftpd  
  7.       #touch chroot_list  
  8.       #vimm chroot_list 里面添加用户名: user1,user2,user3(用来限制这些用户只能在自己的根目录下,不能切换到其他目录)  

 (10)启动服务:# service vsftpd restart|start|stop
 (11)测试:
   用windows客户端:cmd
        ftp 192.168.10.1
        输入用户名和密码: user1
        试着打开别的目录和上传文件下载、下载文件、删除、重命名看是否权限设置是不是你想要的