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

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

一、FTP连接及传输模式

1、控制连接:TCP 21,用于发送FTP命令信息

2、数据连接:TCP 20,用于上传、下载数据

3、数据连接的建立类型:

(1)主动模式:服务器主动发起数据连接

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

(2)被动模式:服务器被动等待数据连接

如果客户端所在网络的防火墙禁止主动模式连接,通常会使用被动模式。

首先由客户端想服务器的21端口建立FTP控制连接。当需要传输数据时,服务器以PASV命令告知客户端“我打开了某端口,你过来连接我”,于是客户端向服务器的该端口(非20)发送请求并建立数据连接。

4、传输模式

在传输文件时,根据是否进行字符转换,分为文本模式和二进制模式。

(1)文本模式:又称ASCII(American Standard Code for Information Interchange)美国信息交换标准码模式,这种模式在传输文件时使用ASCII标准字符序列,一般只用于纯文本文件的传输。

(2)二进制模式:又称Binary模式,这种模式不会转换文件中的字符序列,更适合传输程序、图片等非纯文本字符的文件。

使用二进制模式比文本模式更有效率,大多数FTP客户端工具可以根据文件类型自动选择文件传输模式。

、FTP用户类型

1、匿名用户:用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器的验证。一般用于公共文件的下载,如提供一些免费的软件、学习资料下载的站点。

2、本地用户:直接使用本地的系统用户账号进行验证。

3、虚拟用户:通过一份独立的用户数据库文件进行登录验证,将FTP账户与Linux系统账户的关联性将至最低,为系统提供更好的安全性。

三、FTP服务器软件的种类

1、Windows系统:FileZilla Server、Serv-U等

2、Linux/Unix系统:vsftpd(Very Secure FTP Daemon)

、FTP客户端工具的种类

1、Windows系统:ftp命令、CuteFTP、FlashFXP、LeapFTP、Filezilla等。还有一些下载工具软件,如FlashGet、Wget等,但不具备上传功能,通常不称为FTP客户端工具。

2、Linux/Unix系统:ftp命令

搭建匿名访问的FTP服务

1、安装FTP服务软件

2、准备匿名FTP访问的目录

3、开放匿名用户配置并启动vsftpd服务

4、测试匿名FTP服务器

在客户端安装FTP客户端

测试小结:匿名用户具有新建目录、上传文件、删除文件的权限,新建目录默认权限755,上传文件默认权限644。

搭建本地用户验证的FTP服务

1、创建本地用户

2、修改配置文件,重启FTP服务。

客户端测试

测试小结:本地用户具有新建目录、上传文件的权限,新建目录默认权限700,上传文件默认权限600。

3、ftpusers与user_list用户列表的使用

(1)ftpusers文件:FTP服务器中的黑名单,优先级高于user_list文件

(2)user_list文件:此用户列表默认情况下也是黑名单,即在此用户列表中的用户不可访问FTP服务器,但可以通过vsftpd.conf主配置文件的修改将此名单改为白名单,且仅此名单中的用户可以访问。

(3)示例:

1>将test1用户放入ftpusers文件中,其他配置文件不修改,尝试用test1用户登录

客户测试

2>将test1移除出ftpusers文件,将test2放入user_list用户列表中,先用默认的配 置文件,在客户端尝试用test2访问FTP服务器。在修改配置文件,将user_list改为白 名单,再在客户端分别用test1、test2尝试访问。

客户端测试

服务器修改主配置文件,重启服务

[[email protected] vsftpd]# vim vsftpd.conf

客户端再次测试

测试小结:配置文件中默认user_list用户列表为黑名单即默认为userlist_deny=YES,当增加userlist_deny=NO时,user_list用户列表为白名单,此时仅此名单内用户可访问FTP服务器。

搭建虚拟用户验证的FTP服务

1、建立虚拟用户账号数据库

vsftpd服务使用Berkeley DB格式的数据库文件来存放虚拟用户账号,使用db_load工具生成数据库文件。(若未安装,安装包在安装光盘1中,软件名为db4-utils)

注:db_load命令

-T:允许非Berkeley的程序使用该数据库

-t:指定算法 (hash:哈希,散列)

-f:指定源文件

注意:生成的数据库文件必须为“.db”格式

2、添加虚拟映射账号,为FTP根目录修改权限

3、增加PAM认证

4、修改vsftpd.conf配置文件,重启服务

5、客户端测试

6、实现每个虚拟用户不同根目录、不同权限的管控

(1)创建用户控制目录,并创建虚拟所对应的同名配置文件

修改zhangsan的配置文件,使其可以上传、建立目录、删除文件、重命名文件、最大传输速率1字节/秒、根目录为/var/zhangsan

修改lisi的配置文件,使其仅可以下载上传,不开放其他权限,不限制传输速率,根目录为/var/lisi

wangwu的配置文件不做修改,其权限为配置文件中的默认权限,根目录为/var/ftproot,仅可以下载,无法上传。

(2)修改vsftpd.conf主配置文件,重启服务

[[email protected] vsftpd]# vim vsftpd.conf

(3)客户端测试

验证zhangsan

验证lisi

验证wangwu

【课外知识】建立vsftpd服务的日志文件。

其他配置:

listen=YES

listen_address=192.168.1.108

listen_port=2121 //设置监听端口

pasv_enable=YES //是否开启被动模式

pasv_min_port=24500 //被动模式端口下限

pasv_max_port=24600 //被动模式端口上限

max_clients=2000 //最大15000,最大客户连接数,一般不限制

max_per_ip=2 //每个ip限制最多打开几个客户端工具,一般不限制

anon_max_rate=50000 //匿名最大传输速率,一般不限制

local_max_rate=20000 //本地用户最大传输速率,一般不限制

时间: 2024-10-08 11:38:39

Linux网络服务04——FTP文件传输服务的相关文章

FTP文件传输服务

FTP文件传输服务 需求描述: ? 采用FTP虚拟用户的方式,添加三个用户:zhangsan.lisi.wangwu. ? 用户访问及文件权限控制 u 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料. u 用户zhangsan可以对服务器的/var/ftp/soft/目录进行上传.删除等操作. u 用户lisi可以下载服务器/var/market/目录中的市场活动.销售方案的资料. u 用户wangwu可以对服务器/var/market/目录进行上传.删除等操作

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

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

搭建FTP文件传输服务

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

Linux中的ftp文件传输服务

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

Linux系统FTP文件传输服务

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

【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

WCF大文件传输服务

由于项目需要,自己写一个基于WCF的大文件传输服务雏形.觉得有一定的参考价值,因此放在网上分享. 目前版本为v1.1特点如下: 1.文件传输端口为18650 2.上传和下载文件 3.支持获取文件传输状态(未开始.传输中.传输完成.出现错误) 4.支持获取文件传输进度(范围0~1) 5.支持获取文件传输速度速度(按文件传输速度大小 自动切换 KB/s 和 MB/s显示) 项目解决方案如下: 服务断包括WCF寄宿的控制台服务和Windows 服务以及文件传输服务核心 公共包括一些帮助类(文件HASH

Python自带HTTP文件传输服务

一行命令搭建一个基于python的http文件传输服务 由于今天朋友想要一个文件,而我恰好有,因为这个文件比较大,网速不是很给力,所以想到了python自己有这么一个功能,这样不仅不需要下载其他软件,下载速度也是噌噌的 2333333 python -m http.server -b 127.0.0.1 (-b 绑定ip,不指定的话默认是本机ip) 这个是python自带的一个功能,这个功能便于我们传输一些文件,当服务开启后,我们就可以通过浏览器看到当前路径下的所有文件及文件夹(这里的路径是cm

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是一个基于