FTP文件传输服务

需求描述:

? 采用FTP虚拟用户的方式,添加三个用户:zhangsanlisiwangwu

? 用户访问及文件权限控制

u 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料。

u 用户zhangsan可以对服务器的/var/ftp/soft/目录进行上传、删除等操作。

u 用户lisi可以下载服务器/var/market/目录中的市场活动、销售方案的资料。

u 用户wangwu可以对服务器/var/market/目录进行上传、删除等操作。

u 所有通过FTP上传的文件,均去除非属主位的写权限(即将权限掩码设为022)。

u 对服务器中没有明确授权的其他目录,禁止任何用户访问。

? 传输速率和并发连接控制

u 最多允许150个并发用户连接,每个IP并发连接数不超过5个。

u 匿名用户及lisi用户的下载带宽限制为100KB/s

u wangwu用户的下载、上传带宽限制为200KB/s

具体实验步骤:

ftp服务使用vsftpd搭建

vsftpd搭建ftp服务是比较复杂的,我们今天的实验步骤不去按照书上的步骤进行操作,而是灵活的运用。

首先我们打开一台linuxRHEL5.2 一台windowsxp xp作为客户端访问ftp。

1、为两台计算机配置好IP地址,为 10.0.0.1 和10.0.0.2

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户

图1

linu系统配置ip地址的路径

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_02

图2

配置的具体内容,只要配置静态的ip地址和子网掩码就可以了。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_03

图3

配置完重启网卡服务

xp的ip自己去配置,这里就不去演示了。

好了ip配置好了,现在开始插入安装光盘,安装vsftpd、db4-utlis软件

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_04

图4

上图为安装的软件,vsftpd为ftp服务软件、db4-utils为vsftpd的用户数据库。

vsftpd可以直接使用本地的用户进行登录,但是安全性较低,使用虚拟用户的方式,可以提高,系统的安全。

2、添加虚拟用户,

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_05

5

再添加虚拟用户之前,需要创建一个本地用户,用来映射虚拟用户,什么意思:就是通过一个系统存在的用户,映射多个不存在的用户,通过虚拟的用户进行访问ftp从而提高系统的安全。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_06

图6

上图的路径是添加虚拟用户的路径,vusers.list是不存在的,自己创建的,名字必须使用这个名字。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_07

图7

文件的内容就是虚拟用户,奇数行为用户名,偶数行为用户的密码。

输入完成之后保存退出

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_08

图8

进入到/etc/vsftpd/目录下使用db_loaad命令创建数据库 -T -t 指定加密的方式 -f 指定文件 后面的vusers.db为建立的数据库 的名字。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_09

图9

现在编辑PAM认证。

RPM认证:主要的作用是读取数据库里面的用户和密码,进行验证,否则不能进行登录。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_10

图10

auth行为文本文件的路径,第二行为数据库文件的路径,一个都不能缺。

为了安全起见,把这两个文件 的权限修改一下。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_11

图11

把两个文件的权限都改为600防止被破坏,或者删除。

现在编辑配置文件,/etc/vsftpd/vsftpd.con f

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_12

图12

红框框住的部分是需要修改的部分,我是为了方便大家观看,去掉了空行和注释,里面有的配置项不要修改,没有的可以添加,配置项不要重复。

现在给公共目录market设置权限、为755

t265的宿主目录就是登录到ftp的初始目录。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_13

图13

在建立公共目录/var/ftp/soft

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_14

图14

建立公共目录,把属主设置为匿名用户t265 权限为755.

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_15

图15

启动vsftpd服务,把防火墙关闭,后面会学到开例外,开端口,这里暂时关闭。

注意:如果是虚拟机做实验的时候把vm都改成一样的才能通行

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_16

图16

xp能够ping通服务器,好了现在访问。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_17

图17

匿名用户,没有问题,刚才建立的soft就是公共目录,因为默认ftp的访问目录就在/var/ftp/

现在到了本实验不好做的一部分了,不难,就是缓存太大,不好去测试权限。

验证的用户,右键登录输入用户名密码就可以登录。

在/var/market/创建一个文件看一下是否目录正确

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_18

图18

希望看到的同学权限不对的时候,最好是清清缓存,之后再去检查对错。

设置第一个用户的权限。

u 对服务器中没有明确授权的其他目录,禁止任何用户访问。

在配置文件中添加最后一行配置项即可。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_19

u 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料。

在搭建vsftp的过程中,默认就启用了匿名用户的下载权限。这里不用去修改

u 用户zhangsan可以对服务器的/var/ftp/soft/目录进行上传、删除等操作。

通过面的几个步骤已经可以提供服务了,但是所用用户都映射到一起了,所有用户的权限都是一样的,如要实现不同虚拟用户的访问权限不同还需要做一下操作

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_20

图19

编辑祝配置文件,在文件的末尾添加一行

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_21

图20

我们需要准备在/etc/vsftpd/下创建一个目录vsftpd-dir

统一存放不同虚拟用户的文件

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_22

图21

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_23

图22

写入这些内容后,进行重启vsftpd服务

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_24

图23

重启之后,使用客户端进行权限测试

测试完成,权限没有问题。

u 用户wangwu可以对服务器/var/market/目录进行上传、删除等操作。wangwu用户的下载、上传带宽限制为200KB/s

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_25

图24

服务重启

为了测试下载速率可用命令建立大小为400kb的文件

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_26

图25

测试的结果师妹有问题的,大家在访问的时候,如果权限不对,不要着急,清理清理缓存,在测试。

好了今天的实验案例做完了,接下来,我们做一下课后的上机实验部分。

第三章作业要求

u 配置vsftpd服务,添加jerry、john、本人名三个虚拟帐户

u jerry用户只允许下载文件,john用户可以下载上传文件,本人帐户可以下载上传文件和目录并可以删除、改名文件和目录

u 服务器最多允许3个并发连接,每个ip最多可以同时连接两个,jerry用户限速10KB/s

u 验证上述效果

实验环境一台RHEL5.2 一台xp ip地址为10.0.0.1 10.0.0.2

实现思路:

1、安装vsftpd服务以及db4-utils数据库

2、建立虚拟用户的数据库

3修改配置文件

4、测试权限

配置vsftpd服务,添加jerry、john、本人名三个虚拟帐户

其实这个课后实验真的没有书上的实验案例好,实现的思路都一样,我就给大家简单的做一下。

还是先配置ip地址,

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_27

图26

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_28

图27

Xp的自己去配置吧,我主要还是演示服务器的安装与配置。

Ip配置好了,安装软件。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_29

图28

软件装完,建立系统用户。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_30

图29

用户建立完成了,建立虚拟用户的数据库

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_31

图30

一样奇数行为用户名,偶数行为密码。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_32

图31

数据库建立完了,给他们文件权限调小一些。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_33

图32

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_34

图33

建立PAM认证文件。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_35

图34

PAM认证建立完成,接下来修改主配置文件。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_36

图35

我把注释和空行都删除了,就是剩下的这些配置项,根据上图的配置项,没有的按照图片添加就可以了。

启动服务,测试能不能登录。

能够进行登录,没有问题,接下来,就是给每一位用户不同的权限。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_37

图36

在主配置文件的最后添加一行。

因为jerry要求只能下载即可,所以在/var/ftproot/touch 一个文件看看能不能下载。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_38

图37

看一下是否成功,我测试的是没有问题的,如果慢请等待一会。

john用户可以下载上传文件, vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_39

图38

为他建立一个文件。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_40

图39

可以下载,但是不能上传。

本人帐户可以下载上传文件和目录并可以删除、改名文件和目录

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_41

图40

上传,或删除的时候,有可能权限不够,这里我们把文件的属主设置为zhangsan,就可以了。

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_42

图41

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_43

图42

重启服务,测试权限。

权限正常。

3、服务器最多允许3个并发连接,每个ip最多可以同时连接两个,jerry用户限速10KB/s

vsftpd的应用(匿名和认证,不同用户不同的目录)_用户_44

图43

上图设置的是前面两个问题。

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_45

图44

vsftpd的应用(匿名和认证,不同用户不同的目录)_认证_46

图45

设置传输速率。

测试就不去截图了,自己去测试吧,权限,我已经测试完成,没有人何问题。