一、FTP服务介绍

vsftp(very security ftp file transfer protocol 非常文件传输协议)

FTP分为主动模式和被动模式。

主动模式:(不安全,传数据的端口是固定的20号,容易被截取)

1、        客向服的21号端口发送连接请求信号

2、        服使用20号端口主动和客连接,服使用20号发送的数据,客通过>1024的随机端口接收。

被动模式:(安全,传数据的端口是>1024的随机端口,不易被截取)

1、        客向服的21号端口发送连接请求信号

2、        服使用>1024随机端口主动和客连接,服使用>1024的随机端口发送的数据,客通过>1024+1的随机端口接收。

#lftp  登录服务器的这一瞬间的流程:

1、-------------tcp connection ------------->

首先,客户端向服务端发送建立连接的请求

2、<-------------220  ready ----------------

服务端反馈220的代码,表明21号端口处于正常侦听状态

3、-------------USER --------------------->

客户端向服务端发送一个用户名

4、<-------------331 authentication-----------

服务端反馈331代码,要求客户端输入验证密码

5、-------------PASSWD------------------->

客户端向服务端发送密码

6、<-------------230 login-------------------

服务端反馈230代码,如果验证通过允许客登录

7、-------------pwd ----------------------->

客户端向服务端发送一条指令,例如pwd显示当前路径

8、<-------------257 work path --------------

服务端反馈代码,显示当前工作路径,每个指令的反馈代码都不同

二、实验环境

VMware Workstation Pro15

Red Hat Enterprise Linux Server release 7.3 (Maipo)

xshell 6(可不需要)

三、安装服务

[root@b ~]# yum install -y vsftpd lftp

四、匿名用户访问

直接重启服务即可

[root@b ~]# systemctl restart vsftpd

测试

[root@b ~]# >/var/ftp/pub/
[root@b ~]# ll /var/ftp/pub/
-rw-r--r--. root root Jul : /var/ftp/pub/
[root@b ~]# lftp b.kkcn.host
lftp b.kkcn.host:~> ls
drwxr-xr-x Jul : pub
lftp b.kkcn.host:/> cd pub/
lftp b.kkcn.host:/pub> ls
-rw-r--r-- Jul :
lftp b.kkcn.host:/pub> get
lftp b.kkcn.host:/pub> exit
[root@b ~]# ll
-rw-r--r--. root root Jul :

五、配置文件简述

vim /etc/vsftpd/vsftpd.conf      主配置文件

anonymous_enable=YES      允许匿名访问

local_enable=YES          允许本地

write_enable=YES          允许写入

anon_upload_enable=YES      允许匿名上传

anon_mkdir_write_ enable=YES    允许匿名用户创建新的目录

dirmessage_enalbe=YES        开启目录提示功能

xferlog_enable=YES          激活上传下载的日志          

connect_from_port_20=YES      开启20号端口的主动模式

chown_username=whoever      指定匿名上传的用户

xferlog_file=/var/log/xferlog      日志文件,这个要反注释打开

xferlog_std_format=YES        启用日志的标准格式

idle_session_timeout=   连接上服务器10分钟内,如果什么操作都不做,就会被服务器踢掉,默认300秒

date-connection-timeout= 会话超时时间,如果因为断线导致连接断开,2分钟后,服务端会把客户端踢下去,默认300秒

ftpd_banner=Welcome to joinlabs    欢迎信息,在lftp没用

listen=NO              NO只侦听ipv4,   YES侦听ipv4和ipv6

listen_ipv6=YES            支持ipv6,但是不侦听ipv6也没用

userlist_enable=YES         启用黑名单

六、配套设置

FTP简单搭建(一)的更多相关文章

  1. linux ftp 简单搭建

    1.安装 yum install vsftpd 2.重启服务 /sbin/service vsftpd restartShutting down vsftpd: [ OK ]Starting vsft ...

  2. FTP简单搭建(二)

    六.配套设置 1.基于用户名的上传和下载 创建用户 useradd alex echo redhat |passwd --stdin alex 指定用户登录的路径 可不设置,不设置则为用户家目录 mk ...

  3. ftp服务器搭建及简单操作

    ftp服务器搭建及简单操作 1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”). 2. 安装ftp服 ...

  4. [原创]LAMP+phpmyadmin+FTP环境搭建

    ***简单ftp服务器搭建: rpm –qa|grep vsftpd   //检查是否安装服务 yum –y install vsftpd-*   //安装服务 mkdir /var/ftp/uplo ...

  5. ftp&nginx搭建图片服务器

    下面使用ftp+nginx搭建一个简单的服务器 ftp用于文件的传输 nginx提供http服务 nginx服务器的安装和配置可以参照之前的教程:nginx安装及其配置详细教程 下面介绍ftp服务的安 ...

  6. (转)【Java FTP及FTP服务器搭建】

    转至 http://blog.csdn.net/studyvcmfc/article/details/8147052 目录(?)[+] -[Java FTP及FTP服务器搭建] 一:本文采用apach ...

  7. 基于腾讯云centos简单搭建VSFTP

    基于腾讯云centos7.3搭建VSFTP 环境分析: 基于vsftp服务在于云主机上,所以推荐使用FTP的PASV模式: FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动 ...

  8. FTP服务器搭建及自动备份设置

    本次随笔内容主要是FTP服务器搭建. 其实去年十月服务器就搭建完了.当时写了个PPT保存了一下,准备以后写博客,结果时隔快一年我自己都快要看不懂我自己写的PPT了  ( = o = ) 不过还是尽量尝 ...

  9. python简单搭建HTTP Web服务器

    对于Python 2,简单搭建Web服务器,只需在i需要搭建Web服务器的目录(如C:/ 或 /home/klchang/)下,输入如下命令: python -m SimpleHTTPServer 8 ...

随机推荐

  1. python继承之super

    super() 函数是用于调用父类(超类)的一个方法. super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复调用( ...

  2. node简单起服务

    1.建一个app.js文件 const http = require('http'); const chalk = require('chalk'); const conf = require('./ ...

  3. .NET面试题系列(二十一)C#中Equals和==的比较

    序言 值类型的比较 ; ; Console.WriteLine("Equals和= =(等于号)的比较"); Console.WriteLine("i.Equals(j) ...

  4. android自定义键盘(解决弹出提示的字体颜色问题)

    最近准备要做一个项目,需要用到自定义小键盘来确保安全,而且还需要精确获得用户点击键盘时的落点位置.力度.指尖接触屏幕的面积等参数. 在写自定义键盘的时候,用到了国内网上的一些代码,出处是 向先人致敬! ...

  5. Spring Boot教程(三十八)使用MyBatis注解配置详解(1)

    之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见 ...

  6. [CSP-S模拟测试]:地理课(并查集+线段树分治)

    题目传送门(内部题146) 输入格式 从$geography.in$读入数据. 第一行两个数$n,m$,表示有$n$个点,$m$个时刻.接下来$m$行每行三个数,要么是$1\ u\ v$,要么是$2\ ...

  7. JDBC之——原理和连接数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  8. orale数据库的SQL查询

      创建学生表,成绩表,教师表,课程表,分别添加数据信息 create table student( sno ) primary key, sname ), sage ), ssex ) ); cre ...

  9. State Threads之Co-routine的调度

    1. 相关结构体 1.1 _st_epoll_data static struct _st_epolldata { _epoll_fd_data_t *fd_data; /* 调用 epoll_wai ...

  10. Nginx事件管理之核心模块ngx_events_module

    1. ngx_events_module核心模块的功能介绍 ngx_events_module 模式是一个核心模块,它的功能如下: 定义新的事件类型 定义每个事件模块都需要实现的ngx_event_m ...