linux服务基础之ftp服务
ftp是一种文件传输协议,我们以redhat6.9为服务器系统,来介绍一下ftp服务器,这里我们先介绍一下ftp协议工作的原理
ftp协议可以在不同类型的计算机之间传输文件,工作流程大致为
1:客户机向服务器发出请求,同时客户机随机的打开一个大于1024的端口等待与服务器建立连接
2:ftp服务器在端口21侦听到客户机的请求后,在服务器的21端口和客户机的端口建立一个ftp连接会话
3:当出现数据请求时,客户机再次随机打开一个大于1024的端口与服务器的20端口开始开始传输数据,传输完毕后,随机端口与20端口均自动关闭
4:客户机与服务器断开连接,客户机释放第一个建立连接的随机端口
介绍完工作原理,再来介绍一下工作模式
ftp有两种模式
主动模式/被动模式
主动模式的工作方式
1:客户机随机打开一个大于1024的端口n,与服务器的21端口进行连接
2:客户机使用n+1端口对连接进行监视
3:客户机向服务器发起数据传输,并再次随机打开一个大于1024的端口x
4:服务器收到数据连接请求后,用20端口与x建立数据连接
5:传输完毕后断开连接,释放端口x,端口m与服务器的21端口断开连接,释放m
被动模式的工作方式
1:客户机随机打开一个大于1024的端口n,与服务器的21端口进行连接
2:客户机使用n+1端口对连接进行监视
3:客户机向服务器表明自己处在被动模式
4:服务器向客户机发送请求,并随机打开一个大于1024的端口x
5:客户机收到请求后在自己的随机大于1024的端口上与服务器的随机端口x进行数据的传输
6:传输完毕后断开连接,释放随机端口,客户机端口n与服务器的21端口断开连接,释放服务器的随机端口x
总结,以上两种工作模式可以看出,区别在于有谁发出请求,如果是客户机主动发起请求,并等待服务器主动通过该请求建立数据连接,则被称为主动模式
反之,如果是服务器发起请求,并被动的等待客户机来建立数据连接,则为被动模式。
最明显的一点,服务器下的主动模式与被动模式连接皆为21端口,但数据传输,主动模式下为21端口,而被动模式下为一个随机大于1024的端口
ftp的用户类型
1:匿名用户 顾名思义,可以在没有用户名和密码的情况下访问ftp服务器的共享资源
2:本地用户 这是ftp服务器的本地用户,不仅可以访问ftp服务器的共享资源还可以访问自己的家目录
3:虚拟用户 非本地用户的ftp用户,相比本地用户,更加安全,虚拟用户只能访问ftp服务器的共享资源,没有操作其他资源的权限
我们主要以redhat6.9为例,ftp服务器的软件,但我们因此我i们在这里主要说的是vsftp
ftp服务的配置也非常的简单,ftp服务是一个直接开启就能使用的服务,我们主要介绍匿名用户和本地用户的配置方式
我们首先可以用
yum install vsftpd 来下载ftp服务
chkconfig vsftpd off 设置开机自启
service vsftpd status 查看ftp服务器当前的状态
service vsftpd start 开启ftp服务器 (前面说过,ftp服务器不需要任何配置可以直接开启使用)
下载完毕后可以使用rpm -ql vsftpd 来查看ftp服务的具体文件路径
这里需要注意的几个文件
/etc/vsftpd/vsftpd.conf ftp服务的主配置文件
/etc/pam.d/vsftpd ftp的pam认证文件
/var/ftp 匿名用户的主目录
/var/ftp/pub 匿名用户的下载目录
/etc/vsftpd/ftpusers 禁止使用vsftp的用户列表
/etc/vsftpd/user_list 禁止或允许使用vsftp的用户列表
主要就是这些文件的信息
配置一台匿名ftp服务器
需要对主配置文件的参数进行修改
anonymous_enable=yes 允许用户匿名访问ftp服务器
anon_upload_enable=yes 匿名用户可以上传文件
anon_mkdir_write_enable=yes 允许匿名用户具有新建文件夹的权限
配置到此就完成了
配置一台仅本地用户访问的ftp服务器
anonymous_enable=no 禁止匿名用户访问
local_enable=yes 允许本地用户访问
配置完成
linux服务基础之ftp服务的更多相关文章
- 关于linux服务器上搭建ftp服务的流程
小龙最近折腾了一个阿里云的服务器,买完了就要开始做那么多那么多的功课,小龙对ssh也是一知半解的状态,做个小笔记,发布下整个ftp服务的搭建过程,大神勿喷:) 一.aliyun Linux(Redha ...
- linux Centos 6.5 FTP服务原理及vsfptd的安装、配置(转)
本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...
- linux环境中安装ftp服务
需求说明: 今天项目中有一个新的需求,需要在linux环境中搭建一个ftp服务,在此记录下. 操作过程: 1.通过yum的方式安装ftp服务对应的软件包 [root@testvm01 ~]# yum ...
- 利用vsftpd在Linux构建安全的FTP服务
最近在机房搭建Linux环境,需要用到了FTP服务,查看了许多的资料,在这里做一下笔记 一.安装 方法一,使用yum命令安装,需要能够连接外网 # yum install vsftpd 方法二,使用安 ...
- Linux系统安装及配置ftp服务
1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum -y install vsftpd 安装,(ubuntu 下使用apt-get instal ...
- Linux安装与使用FTP服务-vsftpd
简介 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行 ...
- windows和linux传输小技巧——FTP服务
目录 一.FTP简介 二.匿名用户访问设置 三.设置本地用户验证访问ftp 3.1.修改匿名用户.本地用户登录的默认根目录 四.使用user_list列表 一.FTP简介 FTP服务--用来传输文件的 ...
- Linux(Centos7) 实例搭建 FTP 服务
本文以 CentOS 7.2 64位系统为例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端.指导您如何在 Linux 云服务器上搭建 FTP 服务. 操作步骤 安装 vsf ...
- 在linux中下载安装FTP服务
一.环境及需求 阿里云服务器的Centos6.9版本,当时需要用到上传服务,所以我想着先搭建一个ftp,比较方便快捷,但是我参考了网上好多的博客,简单安装是没问题,但是时不时还会遇到好多坑,与其说是博 ...
随机推荐
- Scrapy框架之代理和cookie
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息.无论何时用户 ...
- 在 CentOS 上安装 node.js
进入到 /usr/local/ 目录中: cd /usr/local/ 创建 nodejs 文件夹: mkdir -p nodejs 进入到 nodejs 目录中: cd nodejs 下载 node ...
- 学习canvas
canvas简介 <canvas> 是 HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素.它可以用来制作照片集或者制作简单(也不是那么 ...
- Angular JS例子 ng-repeat遍历输出
首先要有Angular的插件:然后才开始遍历 :<!DOCTYPE html> <html lang="en"> <head> <meta ...
- Tomcat 数据源的原理、配置、使用
1.数据源的作用及操作原理 在程序代码中使用数据源是可以提升操作性能的,这种性能的提升依靠于运行的原理. 传统JDBC操作步骤 1.加载数据库驱动程序,数据库驱动程序通过CLASSPATH配置: 2. ...
- Visual Studio 快捷键汇总
常见方法: 强迫智能感知:Ctrl+J.智能感知是Visual Studio最大的亮点之一,选择Visual Studio恐怕不会没有这个原因. 撤销:Ctrl+Z.除非你是天才,那么这个快捷键也是 ...
- 【NLP_Stanford课堂】分词
一.如何定义一个单词 在统计一句话有多少个单词的时候,首要问题是如何定义一个单词,通常有三种情况: 是否认为句中的停顿词比如Uh是一个单词,我们称之为fragment,或者filled pause. ...
- 【SQL Server 2012】按倒序存储“分组统计”结果的临时表到新建表
程序预先说明: 本文访问的数据库是基于存有RDF三元组的开源数据库Localyago修改的库,其中只有一个表,表中有五个属性:主语subject.谓语predict.宾语object.主语的编号sub ...
- February 25 2017 Week 8 Saturday
Energy and persistence can conquer all things. 能量和毅力可以征服一切. I have the persistence, but it seems I a ...
- IOS 远程推送通知(UIRemoteNotification)
● 什么是远程推送通知 ● 顾名思义,就是从远程服务器推送给客户端的通知(需要联网) ● 远程推送服务,又称为APNs(Apple Push Notification Services) ● ...