ftp主动和被动模式_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服务软件

c30438a38ec7287be30899cf30c57c12.png

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

09ce9ce2fedda8aabbd45342148b630c.png

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

6551cdb1f9711504b227e5b6ca1a8782.png

b0856d8a9b5c5b3fc2de48a5059a1c0d.png

b519572c914277f46969aa64f61ee17a.png

4、测试匿名FTP服务器

在客户端安装FTP客户端

aa6b4de0eb0f1dc7eef1ff9f07850eba.png

96a3febc93031f011581c6086f11ec25.png

a65f51fc9c5d254b88bac98a6fbec99c.png

2445d2791b96409a07ce698ba46304a2.png

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

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

1、创建本地用户

d1440fbec74da18146a1740bae458225.png

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

4bd039e0dec0d05314dfe7c992adca82.png

9fb2b619280b115d0e77603ad006bbf5.png

25bbd4f3de4c3a42bed2b733a9883471.png

fc200162796871c49b85fc91ff7dd558.png

       客户端测试

fc0c219087d6af3c0622361838eef49a.png

fc6e3f90959ddd40b61fdd66b6d58519.png

cfd6b291bc94da2763bf4213eeacd448.png

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

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

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

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

       (3)示例:

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

9edbec98fd9a56da54a4458fde5c47d2.png

                     客户端测试

d587d922aa620fbca6ffb62d9efb271c.png

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

f6afe85168866f6cf55a93be22b847e3.png

efe001bbf7aea6db8bf9434be03704cf.png

430e57e1eaac9b3972f9cfa6074dcce9.png

              客户端测试

517151b280183d452310adb655766be0.png

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

                     [root@www vsftpd]# vim vsftpd.conf

f561f990a510bf552bdd8e24a244568c.png

0da9ca1b738c37f04e43d8a416b0a4f4.png

              客户端再次测试

dac343d03a80f9f10511a0e1d4ee2103.png

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

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

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

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

f10fc2e40ccde1ee3a4d4fb38b4d63d8.png

c960dc72ead8bdecf5cc2ca1243ac836.png

              注:db_load命令

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

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

                     -f:指定源文件

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

fe8be31135a7229be3c6640b4655ff6a.png

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

66591be1969f7a014f9fd2438161233d.png

3、增加PAM认证

4283300efa938ad550aac0bcb5002543.png

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

98d968d753b41ab0788bbb59a4c28b18.png

e446bd6a6468d9e40fd09d0be3ca4291.png

7ce3165c14ba2937ee5ed686a788dee7.png

5、客户端测试

6a3eb3288081e0a132c41b0ec6b3a14c.png

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

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

b99a1d4bda53fd1789ca57b41356e133.png

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

c9ae237b08bbfd55dc89301afe4abded.png

74ac1f628f68ef10ebd244c496f6ff83.png

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

1cfada7b511499a30ded36c58dc6f900.png

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

      3d380a28ee37c2d5c5daef85176d07a6.png

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

       [root@www vsftpd]# vim vsftpd.conf

6dca1b4964973ba352e502fdd621a8da.png

3dc134e9ff8449e6a597e26aeb686e8b.png

066116fb22edf00c388ed0ec2a677cb7.png

       (3)客户端测试

       验证zhangsan

6ec48f93a0d4fd1cdf74343a95c0653c.png

c3117575d8bd692a91f8627c26b898bd.png

       验证lisi

5276a26844d68a16dc89dab197a408be.png

       验证wangwu

aef6162e1495b3db0c7489651bcde4a6.png

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

08c98b70f2261e24bed509b0621a98a4.png

93ba8f525fe3a432d7e2d14285585939.png

903837be95bbe888fb683f7a1cb9d979.png

0f0d8cd6be6bc0314ac1f0f8798f74d9.png

288def354ef05fe131aaebf05141430f.png

其他配置:

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              //本地用户最大传输速率,一般不限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值