FTP文件传输服务

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

具体步骤:

1. 插入光盘并挂载,然后安装vsftpd包。如图所示:

2. vsftpd服务使用Berkeley DB格式的数据库文件来存放虚拟用户账号。建立这种数据库文件需要用到db_load工具,db_load工具由db4_utils软件包提供,而db4_utils软件包需要先从RHEL5光盘目录中进行安装,其安装可以执行以下操作:

3. 创建文本格式的用户名、密码列表

首先需要建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中用户所对应的密码。如图所示:

4. 创建Berkeley DB格式的数据库文件

有了文本格式的用户名/密码列表文件以后,以此文件为数据流通过db_load工具创建出Berkeley DB格式的数据库文件。

在db_load命令中,“-f”选项用于指定数据源文件,“-T”选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件,“-t hash”选项指定读取数据文件的基本方法。

为了提高虚拟用户账号问价的安全性,应将问价权限设置为600,以避免数据外泄。其具体操作如下:

5. 添加虚拟用户的映射账号、创建FTP根目录

vsftp服务器对虚拟用户的控制采用了映射的控制方式,将所有的虚拟用户对应到同一个系统用户,该系统用户宿主目录作为所有虚拟用户登录后共用的FTP根目录。因此还需要添加一个对应的系统用户账户(此账号无需设置密码及shell)。

6. 为虚拟用户建立PAM认证文件

vsftpd服务默认的PAM认证文件位于/etc/pam.d/vsftpd,该文件适用于以Linux主机的系统用户账号进行认证。若要读取虚拟用户的账号文件,就需要创建新的PAM认证配置。

上述PAM配置内容中,通过“db=/etc/vsftpd/vusers”参数指定了要使用的虚拟用户数据库文件位置(省略了.db扩展名),即对应为/etc/vsftpd/vusers.db文件。

7. 修改vsftpd配置,添加虚拟用户支持

在vsftpd.conf配置文件中添加guest_enable、guest_username配置项,将访问FTP服务的所有虚拟用户对应到同一系统用户账号virtual,并修改pam_serivce_name配置项,指向上一步建立的/etc/pam.d/vsftpd.vu认证文件。

在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头。

8. 创建目录/var/ftp/soft/,将属主设为virtual,权限为755如图所示:

9. 为不同的虚拟用户建立独立的配置文件

通过前面的几个步骤,实际上已经可以重新加载vsftpd并提供服务了,使用任一个虚拟用户账号都可以登录FTP服务器并下载文件。但因为所有的虚拟用都映射到同一个系统用户账号,因此FTP访问权限也是相同的,要么都只能下载,要么都能够上传。

若要为不同的虚拟用户账号设置不同的访问权限,可以通过为每个虚拟用户建立单独的配置文件来实现,为FTP用户启用独立配置文件,需要通过vsftpd.conf配置文件,添加“user_config_dir”配置项。

有了上述配置以后,就可以在/etc/vsftpd/vusers_dir/目录中为每个虚拟用户分别建立配置文件了。

在vsftpd.conf文件中启用了“user_config_dir”配置项以后,应该为每一个虚拟用户都建立一个单独的配置用户(可以是空文件),否则该用户可能会无法登录。在每个用户的独立配置文件中,可以添加新的配置项来限制访问权限、下载速率等。

有了虚拟用户数据库文件,并为vsftpd正确添加了虚拟用户支持以后,就可以重新加载vsftpd服务程序了。用户可以使用FTP客户程序访问该FTP服务器,以虚拟用户账号进行测试。

FTP服务器搭建完成!

n 使用user_list用户列表文件

当vsftpd服务器开放了“local_enable”配置项以后,默认情况下所有的系统用户都可以登录到此FTP服务器。若只希望对一小部分系统用户开放FTP服务,则需要开放用户列表控制的相关配置项,其中主要包括userlist_enbale、userlist_deny。如图所示:

n 修改vsftpd服务的监听地址、端口

更改端口号后,Linux访问:ftp://IP地址 端口号

n 允许使用FTP服务器的被动模式

? 主动模式:服务器主动发起数据连接。首先由客户端向服务端的21端口建立FTP控制连接,当需要传输数据时,客户端以PORT命令告知服务器“我打开了某端口,你过来连接我”,于是服务器从20端口向客户端的该端口发送请求并建立数据连接。

? 被动模式:服务器被动等待数据连接 。如果客户机所在网络的防火墙禁止主动模式连接,通常会使用被动模式。首先由客户端向服务器端的21端口建立FTP控制连接。当需要传输数据时,服务器已PASV命令告知客户端“我打开了某端口,你过来连接我”,于是客户端向服务器的该端口(非20)发送请求并建立数据连接。

时间: 2024-10-13 16:18:12

FTP文件传输服务的相关文章

详解“FTP文件传输服务”安装配置实例

"FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsftpd.conf配置文件详解 配置FTP服务器实例 实例:配置匿名用户 实例:配置本地用户登录 实例:配置虚拟用户登录(MySQL认证) 实例:控制用户登录 实例:设置欢迎信息 分析vsftpd日志管理 FTP服务器配置与管理 简介 FTP 是File Transfer Protocol(文件传输协议)的英文简

Linux网络服务04——FTP文件传输服务

Linux网络服务04--FTP文件传输服务 一.FTP连接及传输模式 1.控制连接:TCP 21,用于发送FTP命令信息 2.数据连接:TCP 20,用于上传.下载数据 3.数据连接的建立类型: (1)主动模式:服务器主动发起数据连接 首先由客户端向服务端的21端口建立FTP控制连接.当需要传输数据时,客户端以PORT命令告知服务器"我打开了某端口,你过来连接我",预算服务器从20端口向客户端的该端口发送请求并建立数据连接. (2)被动模式:服务器被动等待数据连接 如果客户端所在网络

搭建FTP文件传输服务

实验要求:搭建FTP文件传输服务 实验步骤: 1.匿名访问 首先挂载并安装软件包,顺便再查看下,在启动 防火墙要关掉   然后在WIN7上远程登陆FTP 然后我在/vra/ftp/下面创建hu.txt文件, 在win7系统上连接ftp,可以下载文件(为了方便查看,将目录切换到E盘) 我在看下能不能上传,这边显示不能 在这边如果想要他能上传必须开启一些服务,进入linux系统VI编辑器配置文件 将允许匿名上传的配置选项前面的#去掉,使这条命令生效-(允许创建目录和允许上传文件)   这条是没有的,

Linux系统FTP文件传输服务

1.FTP连接及传输模式     FTP服务器默认使用TCP协议的20,21端口与客户端进行通信.20端口用于建立数据连接,并传输文件数据:21端口用于建立控制连接,并传输FTP控制命令. FTP数据连接分为主动模式和被动模式 ■ 主动模式:服务器主动发起数据连接. ■ 被动模式:服务被动等待数据连接. 客户端与服务器建立好数据连接以后,在传输文件时,根据是否进行字符转换,分为文本模式和二进制模式. ◆ 文本模式:又称为ASCII(American Standard Code for Infor

Linux中的ftp文件传输服务

实验要求: 一.构建可匿名访问的ftp服务器 1.匿名用户能下载和上传文件到pub目录中. 2.本地用户登录ftp后禁锢在自己的宿主目录中,并禁止本人名账户访问ftp. 3.所有上传的文件都去除非宿主位读写权限,使用ftp命令验证效果. 二.构建虚拟用户服务器 1.添加benet.班级名.本人名三个虚拟账户. 2.Benet用户只允许下载文件,班级名账户可以下载上传文件,本人账户可以下载上传文件和目录并可以删除.修改文件和目录的名称. 3.服务器最多允许1000个并发连接,每个ip最多可以同时连

FTP文件传输服务器(详解)

  FTP文件传输服务器 一实验目标 安装配置VSFTP 实战匿名访问VSFTP 实战用户名密码方式访问VSFTP 实战ftp虚拟帐号方式访问VSFTP   二实验环境 FTP服务端xuegod63.cn   IP192.168.1.63 FTP客户端xuegod64.cn   IP192.168.1.64   三FTP服务概述     FTP服务器File Transfer Protocol Server是在互联网上提供文件存储和访问服务的计算机它们依照FTP协议提供服务.VSFTP是一个基于

FTP文件传输协议(二)

FTP文件传输协议(二) 3.访问控制列表 [[email protected] vsftpd]# ls ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh [[email protected] vsftpd]# cat user_list 查看用户列表的配置文件 # vsftpd userlist # If userlist_deny=NO, only allow users in this file //如果使用userlist_den

【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 35.1  初学者重要提示 35.2  FTP基础知识参考资料 35.3  FTP基础知识点 35.4  总结 35.1  初学者重要提示 FTP文件传输协议在实际项目中有比较重要的实用价值,需要初学者对FTP的基础知识也有个认识. 35.2  FTP基础知识参考资料 大家可以从以下地址获得FTP

FTP 文件传输协议

FTP 文件传输协议 什么是FTP? FTP全称是文件传输协议,简单点就是通过这个协议我们可以实现文件的传输. FTP软件一般分为服务端和客服端. 常用的FTP软件 pureFTP 编译安装FTP 进入官网下载 https://www.pureftpd.org/ 具体下载地址:?[https://download.pureftpd.org/pub/pure-ftpd/releases/](https://download.pureftpd.org/pub/pure-ftpd/releases/)