【案例1】

建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器。

(1)配置FTP匿名用户的主目录为/var/ftp/anon。下载带宽限制为100kB/s

(2)建立一个名为abc,口令为361way.com的FTP账户。下载带宽限制为500kB/s。

(3)设置FTP服务器同时登录到FTP服务器的最大链接数为100;每个IP最大链接数为3;用户空闲时间超过限值为5分钟。

配置方法:

1、创建名用户的主目录

1mkdir /var/fpt/anon

2、新建abc用户

1useradd abc
2echo '361way.com' | passwd --stdin abc

3、/etc/vsftpd/vsftpd.conf配置

修改或增加以下部分,其他配置保持默认

1anonymous_enable=YES
2anon_root=/var/ftp/anon
3anon_max_rate=100000
4# Uncomment this to allow local users to log in.
5local_enable=YES
6local_max_rate=500000
7max_clients=100
8max_per_ip=3
9connect_timeout=300

4、虚拟用户配置

1# vim /etc/vsftpd/vuser
2tom        ---->用户名
3123        ----->密码

有多个虚拟用户时,在上面的配置文件后继续增加。并将本文件中的用户密码生成数据库文件

1db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
2chmod 600 /etc/vsftpd/vuser.db

修改pam文件

1# vim /etc/pam.d/vsftpd
2#注释掉原来的内容,然后加入如下内容:
3auth        required    pam_userdb.so   db=/etc/vsftpd/vuser
4account     required    pam_userdb.so   db=/etc/vsftpd/vuser

最后编辑vsftpd.conf文件,增加如下内容:

1guest_enable=YES
2guest_username=abc

【案例2】

1、新建一分区,10G空间,ext3 文件系统,挂在到 /ftp下,作为 ftp服务器数据存放地方。

2、四个部门:dep1,dep2, dep3, dep4,分别对应目录 /ftp/dep1,/ftp/dep2,/ftp/dep3,/ftp/dep4。另外设定一个公共目录 /ftp/public。

3、五个用户:admin,user1,user2,user3,user4。其中:user 1/2/3/4分别对应部门dep 1/2/3/4,他们只能访问自己所属部门的目录和public目录。如:user1只能访问dep1和public目录,不能访问其它目录。admin为管理员用户,可以访问 ftp 服务器上的任何目录。

4、用户访问权限限制:user1/2/3/4在所能访问的目录,具有上传文件、下载文件的功能,但是不能够删除文件、更改文件权限等功能。admin管理员用户对所有目录具有文件上传、下载、删除、权限更改等功能。

5、对每个部门定制一个 quota,设置该账户的文件配额为1000个;磁盘配额为2G。

6、匿名用户不能访问。

配置方法:

1、分区并配置启用quota

1# fdisk /dev/hdb
2# mkfs.ext3 /dev/hdb1
3# mkidr /ftp
4# mount /dev/hdb1 /ftp -o usrquota,grpquota

在/etc/fstab中增加如下配置

1# vim /etc/fstab
2----->加入下面一句
3/dev/hdb1               /ftp                    ext3    defaults,usrquota,grpquota      0 0

2、增加用户、组、目录,并配置权限

 1# groupadd dep1
 2# groupadd dep2
 3# groupadd dep3
 4# groupadd dep4
 5# groupadd boobooke
 6# usradd  -G dep1,boobooke user1
 7# usradd  -G dep2,boobooke user2
 8# usradd  -G dep3,boobooke user3
 9# usradd  -G dep4,boobooke user4
10# usradd  -G dep1,dep2,dep3,dep4,boobooke admin
11# passwd user1
12# passwd user2
13# passwd user3
14# passwd user4
15# passwd admin
16# mkdir /ftp/dep1
17# mkdir /ftp/dep2
18# mkdir /ftp/dep3
19# mkdir /ftp/dep4
20# mkdir /ftp/public
21# chown uesr1:dep1 /ftp/dep1
22# chown uesr2:dep2 /ftp/dep2
23# chown uesr3:dep3 /ftp/dep3
24# chown uesr4:dep4 /ftp/dep4
25# chown admin:boobooke /ftp/public
26# chmod 770 /ftp/dep1
27# chmod 770 /ftp/dep2
28# chmod 770 /ftp/dep3
29# chmod 770 /ftp/dep4
30# chmod 770 /ftp/pubic

查看结果ftp挂载点的文件如下:

1-rw------- 1 root  root      8192 Jul 26 11:46 aquota.group
2-rw------- 1 root  root      7168 Jul 26 11:46 aquota.user
3drwxrwx--- 2 user1 dep1      4096 Jul 25 20:47 dep1
4drwxrwx--- 2 user2 dep2      4096 Jul 25 20:47 dep2
5drwxrwx--- 2 user3 dep3      4096 Jul 25 20:47 dep3
6drwxrwx--- 2 user4 dep4      4096 Jul 25 20:47 dep4
7drwx------ 2 root  root     16384 Jul 25 20:44 lost+found
8drwxrwx--- 2 admin boobooke  4096 Jul 25 20:48 public

3、quota磁盘配额配置

1#mount /dev/hdb1 /ftp -o usrquota,grpquota
2# quotacheck -cuvg /dev/sdb1
3# quotaon -a
4# edquota -g dep1
5Disk quotas for group dep1 (gid 503):
6  Filesystem                   blocks       soft       hard     inodes     soft     hard
7  /dev/hdb1                         0    1024000    2048000          0      500     1000
8# edquota -g -p dep1 dep2 dep3 dep4(-u -g将源用户组和群组的quota设置套用至其他用户或群组。)

4、编辑vsftpd.conf

1# vim /etc/vsftpd/vsftpd.conf
2anonymous_enable=NO
3local_root=/ftp
4user_config_dir=/etc/vsftpd/ftp_config_dir
5----> 开启chroot
6chroot_list_enable=YES
7chroot_list_file=/etc/vsftpd/chroot_list

5、建立用户配置文件

1# mkdir /etc/vsftpd/ftp_config_dir
2# vim /etc/vsftpd/ftp_config_dir/user1
3cmds_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
4# cp /etc/vsftpd/ftp_config_dir/user1 /etc/vsftpd/ftp_config_dir/user2
5# cp /etc/vsftpd/ftp_config_dir/user1 /etc/vsftpd/ftp_config_dir/user3
6# cp /etc/vsftpd/ftp_config_dir/user1 /etc/vsftpd/ftp_config_dir/user4