详解Linux搭建vsftp服务器通过三种方式实现文件传输

概述

FTP(File Transfer Protocol)中文称为“文件传输协议”。用于Internet上的控制文件的双向传输。

工作原理

一、主动模式:

1、客户端通过用户名和密码登录服务器端,登录的是21端口(服务器端主动开启的)。
2、服务器端通过21端口接收到客户端的访问,验证用户名和密码。
3、 登陆成功,客户端会随机开启一个1024以上的端口,在端口上会传递一个叫port的命令,通过命令告知服务器,打开端口,向客户端传递数据。(顺便的会将随机端口号告知服务器)
4、服务器接收之后查看端口为port,服务器端就会开启本机的20端口。然后向客户端的随机端口发送数据。

二、被动模式:

1、客户端通过用户名和密码登录服务器端,登录的是21端口。
2、 登陆成功,客户端会开启PASV命令,通过PASV,告知服务器端,采用被动模式连接。
3、服务器端会开启一个1024以上随机端口。
4、服务器端会把随机端口的号发送给客户端,客户端通过自己本机的随机端口向服务器端传递数据。

主被动之间比较

主动模式中:管理员只能控制服务器端,不能控制客户端,客户端不在管理员的控制范围,对方的防火墙有可能造成连接中断。
被动模式中:虽然开启的是随机端口,但是服务器端在管理员的控制当中,只要把随机端口指定清楚,在服务器的防火墙通过这些访问,从而不会造成ftp连接中断。
问题:被动模式中随机开启的端口范围太多!!!
解决:服务器端可以修改配置文件将随机开打的端口压成10个或100个,在服务器端防火墙中把这针对100个随机端口的访问打开,ftp就可以正常访问。

关于端口

FTP连接端口(主动模式中)
控制连接:TCP 21,用于发送FTP命令信息
数据连接:TCP 20,用于上传、下载数据

FTP访问方式

1、匿名用户:anonymous或ftp
2、本地用户:使用Linux系统用户和密码
3、虚拟用户:管理员自定义的模拟用户

实验环境

  • 系统环境:centos6.5、windows7
  • Server端IP地址:192.168.1.77(Linux)
  • Client端IP地址:192.168.1.10(windows7)
  • yum挂载目录:/mnt/sr0
  • 使用的rpm包:vsftpd-2.2.2-11.el6_4.1.x86_64.rpm (主包)

搭建步骤

一、使用匿名用户方式进行访问

1、关闭iptables以及selinux

[[email protected] ~]# chkconfig iptables off
[[email protected] ~]# vim /etc/sysconfig/selinux

2、Server端安装Vsftp服务rpm包

[[email protected] ~]# cd /mnt/sr0/Packages/
[[email protected] Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

3、修改配置文件

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# vim vsftpd.conf

4、修改默认上传目录权限

[[email protected] ~]# chmod 777 /var/ftp/pub/ #一定要注意!!!不要对/var/ftp设置目录权限,/var/ftp是ftp服务器站点,如果权限过大,意味着可以将整个站点进行删除,登录就会报错。此时系统专门准备pub目录进行权限设置。

5、上传目录写入测试文件

[[email protected] ~]# echo "this is testFile" > /var/ftp/pub/test.txt

6、虚拟机访问ftp实现下载

7、虚拟机访问ftp实现上传

8、查看上传文件

[[email protected] ~]# cd /var/ftp/pub/
[[email protected] pub]# ll

二、使用本地用户方式进行访问_将用户禁锢在指定目录中

1、修改配置文件

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# vim vsftpd.conf

2、添加本地测试用户

[[email protected] ~]# useradd zhangsan
[[email protected] ~]# passwd zhangsan
[[email protected] ~]# useradd lisi
[[email protected] ~]# passwd lisi

3、修改指定上传目录权限

[[email protected] ~]# chmod 777 /var/ftp/pub/ #之前已经改过了,但是还是要加深一下印象

4、用户访问

5、查看上传文件

[[email protected] ~]# cd /var/ftp/pub/
[[email protected] pub]# ll

6、使用dos登录查看用户是否随意切户目录

三、使用本地用户方式进行访问_启用黑名单

1、修改配置文件

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# vim vsftpd.conf

2、修改用户控制列表文件

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# echo "zhangsan" >> user_list #将zhangsan用户添加至黑名单中
[[email protected] vsftpd]# cat user_list

[[email protected] ~]# /etc/init.d/vsftpd restart #重启服务

3、访问测试

四、使用虚拟用户方式进行访问

1、添加虚拟用户口令文件

[[email protected] ~]# vim /etc/vsftpd/vuser.txt #创建虚拟用户口令文件。可以叫任何名字,也可以放在任何地方。

2、生成虚拟用户口令认证文件

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
#将文本文档转变为认证的数据库(通过用户名、密码文件生成一个数据库)
-T:转换;
-t:指定哈希算法;
-f:指定文件,生成 /etc/vsftpd/vuser.db数据文件。注意vuser.db是二进制文件。

3、编辑vsftpd的PAM认证文件

[[email protected] ~]# vim /etc/pam.d/vsftpd.vu #新建一个针对虚拟用户pmd认证文件

4、建立本地映射用户并设置宿主目录权限

[[email protected] ~]# useradd -d /home/vfproot -s /sbin/nologin vuser #此用户只做本地用户对虚拟的映射
[[email protected] ~]# chmod 755 /home/vfproot/

5、修改配置文件

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# vim vsftpd.conf

6、重启vsftpd服务,并测试

[[email protected] ~]# /etc/init.d/vsftpd restart

7、查看上传文件

[[email protected] ~]# cd /home/vfproot/
[[email protected] vfproot]# ll

五、使用虚拟用户方式进行访问_为每一个用户进行配置

1、修改配置文件

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# vim vsftpd.conf

2、手工创建目录

[[email protected] ~]# mkdir /etc/vsftpd/vusers_dir

3、为"罗三炮"用户建立配置文件

[[email protected] ~]# cd /etc/vsftpd/vusers_dir/
[[email protected] vusers_dir]# vim luosanpao #为"罗三炮"创建配置文件。注意!!!!必须要创建同名的配置文件

4、创建上传目录

[[email protected] ~]# mkdir /tmp/vluosanpao
[[email protected] ~]# chown vuser:vuser /tmp/vluosanpao/ #修改所有者、所属组

5、重启并测试

[[email protected] ~]# /etc/init.d/vsftpd restart

[[email protected] ~]# cd /tmp/vluosanpao/
[[email protected] vluosanpao]# ll

6、使用"展昭"虚拟用户进行测试

原文地址:http://blog.51cto.com/11905606/2140599

时间: 2024-08-27 04:59:10

详解Linux搭建vsftp服务器通过三种方式实现文件传输的相关文章

详解linux搭建DNS服务器器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

详解FTP服务之vsftpd(附三种用户安装脚本)

FTP(File Transfer Protocol,文件传输协议)可以在网络中传输文档.图像.视频以及应用程序等多种类型的文件.在企业中大多数情况下,则是用户使用FTP从服务器上下载文件.一个完整的FTP文件传输需要建立两种类型的连接,一种为控制文件传输的命令,称为控制连接:另一种实现真正的文件传输,称为数据连接控制连接:客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器TCP协议的21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就

CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性.传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点,下面开始搭建: 1.用root 进入系统 2.使用命令 rpm  -qa | grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本 3.如果安装了,可

LINUX环境并发服务器的三种实现模型

服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器.按处理方式来分有循环服务器和并发服务器. 1  循环服务器与并发服务器模型 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求. 目前最常用的服务器模型有: ·循环服务器:服务器在同一时刻只能响应一个客户端的请求 ·并发服务器:服务器在同一时刻可以响应多个客户端的请求 1.1 UDP循环服务器的实现方法: UDP循环服务器每次从套接字上读取一个客户端的请求->处理->然后将

linux搭建vsftp服务器

关于vsftp的安装问题,个人感觉被坑了不少,下载rpm也试了,下载tar.zg编译源码也试了,但是均是在报不同的错,比如说是找不到crypto**.so,还有make的时候报错说是找不到cap_init,google了半天也没有得到很好的解决,最后解决还是去安装光盘里面找rpm安装成功的,估计是版本的问题导致,因此先展示自己机器的版本: [root@localhost 桌面]# uname -aLinux localhost.hadooper 2.6.32-220.el6.x86_64 #1

linux之VMware联网的三种方式

1.桥接模式 在这种模式下,VMware虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网. 2.NAT模式 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网.也就是说,使用NA

使用selenium三种方式打开文件:

#路径读取方式一:# b.get(r"C:\我的代码\selenium自动化测试\test.html")#路径读取方式二:# b.get("C:\\我的代码\\selenium自动化测试\\test.html")#路径读取方式三:b.get('file://C:\\我的代码\\selenium自动化测试\\test.html') 原文地址:https://www.cnblogs.com/zhang-da/p/12080680.html

详解Linux 6&7上搭建DNS服务器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

Sendmail邮件服务器详解和搭建

Sendmail邮件服务器详解和搭建 一.邮件服务器简介 邮件服务器是由邮件用户代理(MUA).邮件递送代理(MDA)和邮件传输代理(MTA)组成,常见的MDA通常和MUA合二为一. 1.MUA 邮件用户代理是一种客户端软件,它提供用户读取.编辑.回复及处理电子邮件等功能,一般常用的MUA程序包括Linux下的mailx.elm.evolution和mh等,以及Windows下常用的Outlook Express.Foxmail等. 2.MDA 邮件递送代理是一种服务器端运行的软件,用来把MTA