VSFTP服务器概述

FTP服务概述

FTP服务器(File Transfer ProtocolServer)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。

FTP(File Transfer Protocol: 文件传输协议)作用:Internet 上用来传送文件的协议。

常见FTP服务器:
Windows:Serv-U 、FTP Server、filezilla_server
Linux:ProFTPD:(Professional FTP daemon)一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序。

本节主讲:VSFTP

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
特点:
它是一个安全、高速、稳定的FTP服务器。

VSFTP模式: C/S 模式

监听端口:20、21
[root@xuegod64 ~]# vim /etc/services #查看services文件,如图所示。

FTP监听的端口有两个:

端口20:用于传输数据
端口21:用于传输指令

工作流程(原理)分为两种模式:

主动和被动模式:
FTP会话包含了两个通道,控制通道和数据传输通道,FTP的工作有两种模式,一种是主动模式,一种是被动模式,以FTP Server为参照,主动模式,服务器主动连接客户端传输,被动模式,等待客户的连接。

主动模式(PORT)的工作原理:
FTP客户端连接到FTP服务器的21号端口,发送用户名和密码,客户端随机开放一个端口(1024以上),发送PORT命令到FTP服务器,告知服务器客户端采用主动模式并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据,原理如图 所示,(无论是主动还是被动模式,首先的控制通道都是先建立起来,只是在数据传输模式上的区别)

被动模式的工作原理:
PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器所监听的21号端口,发送用户名和密码,发送PASV命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输,原理如图所示。


主 21 20
被 21 1024以上

安装vsftp服务器端、客户端

使用rpm安装本地光盘中的vsftp程序包:

[root@xuegod63 ~]# rpm -ivh /mnt/cd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

或:
使用yum直接安装(两种安装方法,选取其中一种即可):

[root@xuegod63 ~]# yum -y install vsftpd
安装客户端:
[root@xuegod64 ~]# yum install -y lftp          #使用yum安装ftp客户端。
lftp

Linux客户端:

lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp、ftps、http、https、hftp(其中ftps和https需要在编译的时候包含openssl库),lftp的界面非常类似一个Shell,有命令补全、历史记录、允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载、等功能。

配置文件位置:

vsftpd 相关文档:

/etc/vsftpd/vsftpd.conf           #vsftpd 的核心配置文件。
/etc/vsftpd/ftpusers            #用于指定哪些用户不能访问FTP 服务器,即黑名单。
/etc/vsftpd/user_list           #指定允许使用VSFTP的用户列表文件,即白名单。
[root@xuegod63 ~]# vim /etc/vsftpd/user_list        #查看user_list文件

如图所示。

说明:如果userlist_deny= YES(默认),绝不允许在这个文件中的用户登录ftp,甚至不提示输入密码。

/etc/vsftpd/vsftpd_conf_migrate.sh       #是vsftpd 操作的一些变量和设置脚本
/var/ftp/                                  #默认情况下匿名用户的根目录
启动服务
[root@xuegod63 vsftpd]# systemctl start vsftpd      #启动FTP服务。
[root@xuegod63 vsftpd]# systemctl enable vsftpd    #设置开启自动启动FTP服务。

#注意关闭iptables 和SElinux

[root@xuegod63 ~]# netstat -antup | grep ftp        #查看FTP服务监听的端口。
tcp    0     0 0.0.0.0:21          0.0.0.0:*          LISTEN       11725/vsftpd

以上内容中说明FTP监听两个端口,但目前FTP已经启动了,但经过查看,只查看到21号端口,还有20号端口没有查看到?

是因为没有数据传输,20号端口是用于传输数据的,所以20号端口是尚未开启,如有数据传输时,20号端口则会开启。

FTP服务的使用方法

Linux系统:

以xuegod63主机示例(即服务端、客户端为一台主机)

[root@xuegod63 ~]# rpm -ivh /mnt/Packages/lftp-4.4.8-8.el7_3.2.x86_64.rpm       #安装FTP客户端
[root@xuegod63 ~]# lftp 192.168.1.63           #连接FTP服务器。
ctrl+d  或  exit退出
?  帮助

Windows系统:

通过浏览器访问或 打开文件夹,在地址栏输入地址:ftp://192.168.1.63/,如图所示

修改配置文件,实战举例匿名访问

公司技术部准备搭建一台功能简单的FTP 服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。

分析:
允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启。

允许匿名用户访问

anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。

[root@xuegod63 ~]# cd /etc/vsftpd/      #切换工作目录至FTP工作目录下。
[root@xuegod63 vsftpd]# cp vsftpd.conf{,.bak}  #使用命令展开式,FTP配置文件备份,便于后期恢复还原。
[root@xuegod63 vsftpd]# vim  vsftpd.conf   #编辑FTP配置文件,修改以下内容。
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

允许匿名用户上传文件并可以创建目录,如图 所示



重启FTP服务,使配置文件生效:

[root@xuegod63 vsftpd]# systemctl restart vsftpd

测试:提示不能写,如图 所示。

[root@xuegod63 vsftpd]# chown ftp.ftp /var/ftp/pub/         #修改FTP共享目录属主、属组为ftp用户。

再次测试,结果:可以新建文件夹,但是不能重命名,不能删除!

[root@xuegod63 vsftpd]# vim vsftpd.conf     #编辑FTP配置文件,修改以下内容。
anon_other_write_enable=YES        #默认没有,需要手动添加下这行(匿名帐号可以有写的权限)。

重启FTP服务,使配置文件生效:

[root@xuegod63 vsftpd]# systemctl restart vsftpd

可以删除文件夹了,这个参数对匿名用户来说权限太大,不安全,使用这个参数需要考虑安全性。
注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!

点我建立联系

Linux云计算之VSFTP服务器概述-安装vsftp服务器端、客户端相关推荐

  1. 在Linux下,SVN服务器的安装

    最近想在VPS上搭建一个SVN服务,方便在外面使用时存放代码. 上次介绍过在Windows上搭建SVN服务器,这次来谈谈在Linux上搭建吧,系统是CentOS. 网上有不少教程,可是没有一篇完整的, ...

  2. linux搭建vsftp服务器_Linux配置VSFTP服务器的方法

    下面小编就为大家带来一篇Linux配置VSFTP服务器的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 一.Linux FTP服务器分类: <1>wu- ...

  3. linux mysql服务器安装_Linux服务器MySQL安装

    Linux服务器MySQL安装 1. MySQL官网下载如图: 2. 安装MySQL [root@iZ2zebb0428roermd00462Z /]# rpm -ivh https://dev.my ...

  4. linux搭建vsftp服务器_Linux安装配置vsftp搭建FTP的详细配置

    这里主要是说vsftp的配置:基础的可以参考Linux中VSFTP的配置 转自:https://www.jb51.net/article/103904.htm 修改配置文件 配置文件/etc/vsft ...

  5. Linux (redhat 6.5)服务器上安装Webmin

    Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器 访问Webmin的各种管理功能并完成相应的管理动作.目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的 ...

  6. Linux下Apache Web服务器的安装与配置

    1.Apache Web服务器简述     Web服务是目前Internet应用最流行.最受欢迎的服务之一,Linux平台使用最广泛的Web服务器是Apache,它是目前性能最优秀.最稳定的Web服务 ...

  7. Linux实验之DNS服务器的安装与配置

    实验目的: 学会在Linux系统下搭建DNS服务器并掌握其基础配置. 实验内容: 1.在系统中安装DNS服务 2..掌握DNS服务器的配置和启动的相关知识 3..架设一个DNS服务器,主区域域名为hg ...

  8. linux系统上tftp服务器的安装配置

    Linux上tftp的配置: 1.下载 sudo apt-get install tftpd-hpa tftp-hpa xinetd 2.修改 sudo gedit /etc/default/tftp ...

  9. 康柏v3322安装linux系统,SUN的服务器能安装Linux操作系统吗

    匿名用户 1级 2017-05-31 回答 可以的啊,具体操作如下 安装教程 1.首先,在BIOS里设置光驱启动,并放入Centos6.5安装光盘.前提要刻录好光盘(如果是安装虚拟机的话,可以省略刻录 ...

最新文章

  1. 图像配准----SIFT
  2. AI 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag
  3. 第二步:关于布局文件中的大小设置使用问题
  4. win10如何换pip源
  5. 介绍微软一个罕为人知的无敌命令
  6. CentOS重新加载网卡报错 Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/23
  7. 安装docker遇到的坑 Could not resolve host: download.docker.com;
  8. [django]list_display 中包含外键内的字段
  9. ORACLE查询表最近更改数据的方法
  10. 前端性能优化的那些事
  11. CSS3学习案例1——超级链接类型标示图标
  12. python 通达信k线_python日线通达信,通达信 主图默认显示每只股票上市以来所有日线...
  13. 图解联合概率密度、边缘概率密度、条件概率密度之间的关系
  14. 高旭东:科普返利网站模式,做到知己知彼放心购物!
  15. 基于云端的生命检测系统(合泰杯比赛报告内含代码)
  16. 让人心静的七十五条经典修心格言
  17. 无力回天...机关算尽,还是死在上线之中.............
  18. 把Google HK设为IE默认的搜索引擎
  19. 华为账号登录的手游如何在雷电(MuMu等)模拟器上登录游戏(以三国杀为例)
  20. 你可能不知道你已经被运营商劫持了

热门文章

  1. /Zc:strictStrings配置
  2. Kali Linux渗透测试之被动信息收集(一)——nslookup、dig、DNS区域传输,DNS字典爆破,DNS注册信息
  3. 2022英特尔AI开发者大会视频专区
  4. 马云:我们唯一拥有的就是相信梦想,Never give up!
  5. Bitflip问题案例分析
  6. java 访客模式,每日一课 | Java 8中的instanceof运算符和访客模式替换
  7. postgresQL通过出生日期获取年龄
  8. adb cat delay 2 second
  9. 六月情报!六月情报!IAC的终结,反波胆的没落,龙抬头的套路
  10. 表单验证 trigger