FTP文件传输服务
需求描述:
? 采用FTP虚拟用户的方式,添加三个用户:zhangsan、lisi、wangwu。
? 用户访问及文件权限控制
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
图1
linu系统配置ip地址的路径
图2
配置的具体内容,只要配置静态的ip地址和子网掩码就可以了。
图3
配置完重启网卡服务
xp的ip自己去配置,这里就不去演示了。
好了ip配置好了,现在开始插入安装光盘,安装vsftpd、db4-utlis软件
图4
上图为安装的软件,vsftpd为ftp服务软件、db4-utils为vsftpd的用户数据库。
vsftpd可以直接使用本地的用户进行登录,但是安全性较低,使用虚拟用户的方式,可以提高,系统的安全。
2、添加虚拟用户,
5
再添加虚拟用户之前,需要创建一个本地用户,用来映射虚拟用户,什么意思:就是通过一个系统存在的用户,映射多个不存在的用户,通过虚拟的用户进行访问ftp从而提高系统的安全。
图6
上图的路径是添加虚拟用户的路径,vusers.list是不存在的,自己创建的,名字必须使用这个名字。
图7
文件的内容就是虚拟用户,奇数行为用户名,偶数行为用户的密码。
输入完成之后保存退出
图8
进入到/etc/vsftpd/目录下使用db_loaad命令创建数据库 -T -t 指定加密的方式 -f 指定文件 后面的vusers.db为建立的数据库 的名字。
图9
现在编辑PAM认证。
RPM认证:主要的作用是读取数据库里面的用户和密码,进行验证,否则不能进行登录。
图10
auth行为文本文件的路径,第二行为数据库文件的路径,一个都不能缺。
为了安全起见,把这两个文件 的权限修改一下。
图11
把两个文件的权限都改为600防止被破坏,或者删除。
现在编辑配置文件,/etc/vsftpd/vsftpd.con f
图12
红框框住的部分是需要修改的部分,我是为了方便大家观看,去掉了空行和注释,里面有的配置项不要修改,没有的可以添加,配置项不要重复。
现在给公共目录market设置权限、为755
t265的宿主目录就是登录到ftp的初始目录。
图13
在建立公共目录/var/ftp/soft
图14
建立公共目录,把属主设置为匿名用户t265 权限为755.
图15
启动vsftpd服务,把防火墙关闭,后面会学到开例外,开端口,这里暂时关闭。
注意:如果是虚拟机做实验的时候把vm都改成一样的才能通行
图16
xp能够ping通服务器,好了现在访问。
图17
匿名用户,没有问题,刚才建立的soft就是公共目录,因为默认ftp的访问目录就在/var/ftp/
现在到了本实验不好做的一部分了,不难,就是缓存太大,不好去测试权限。
验证的用户,右键登录输入用户名密码就可以登录。
在/var/market/创建一个文件看一下是否目录正确
图18
希望看到的同学权限不对的时候,最好是清清缓存,之后再去检查对错。
设置第一个用户的权限。
u 对服务器中没有明确授权的其他目录,禁止任何用户访问。
在配置文件中添加最后一行配置项即可。
u 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料。
在搭建vsftp的过程中,默认就启用了匿名用户的下载权限。这里不用去修改
u 用户zhangsan可以对服务器的/var/ftp/soft/目录进行上传、删除等操作。
通过面的几个步骤已经可以提供服务了,但是所用用户都映射到一起了,所有用户的权限都是一样的,如要实现不同虚拟用户的访问权限不同还需要做一下操作
图19
编辑祝配置文件,在文件的末尾添加一行
图20
我们需要准备在/etc/vsftpd/下创建一个目录vsftpd-dir
统一存放不同虚拟用户的文件
图21
图22
写入这些内容后,进行重启vsftpd服务
图23
重启之后,使用客户端进行权限测试
测试完成,权限没有问题。
u 用户wangwu可以对服务器/var/market/目录进行上传、删除等操作。wangwu用户的下载、上传带宽限制为200KB/s。
图24
服务重启
为了测试下载速率可用命令建立大小为400kb的文件
图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地址,
图26
图27
Xp的自己去配置吧,我主要还是演示服务器的安装与配置。
Ip配置好了,安装软件。
图28
软件装完,建立系统用户。
图29
用户建立完成了,建立虚拟用户的数据库
图30
一样奇数行为用户名,偶数行为密码。
图31
数据库建立完了,给他们文件权限调小一些。
图32
图33
建立PAM认证文件。
图34
PAM认证建立完成,接下来修改主配置文件。
图35
我把注释和空行都删除了,就是剩下的这些配置项,根据上图的配置项,没有的按照图片添加就可以了。
启动服务,测试能不能登录。
能够进行登录,没有问题,接下来,就是给每一位用户不同的权限。
图36
在主配置文件的最后添加一行。
因为jerry要求只能下载即可,所以在/var/ftproot/touch 一个文件看看能不能下载。
图37
看一下是否成功,我测试的是没有问题的,如果慢请等待一会。
john用户可以下载上传文件,
图38
为他建立一个文件。
图39
可以下载,但是不能上传。
本人帐户可以下载上传文件和目录并可以删除、改名文件和目录
图40
上传,或删除的时候,有可能权限不够,这里我们把文件的属主设置为zhangsan,就可以了。
图41
图42
重启服务,测试权限。
权限正常。
3、服务器最多允许3个并发连接,每个ip最多可以同时连接两个,jerry用户限速10KB/s
图43
上图设置的是前面两个问题。
图44
图45
设置传输速率。
测试就不去截图了,自己去测试吧,权限,我已经测试完成,没有人何问题。