ftp协议详解与vsftpd在linux上的安装配置

什么是FTP?

FTP,文件传输协议,可以实现在网络上传输多种类型的文件

一个完整的FTP文件传输需要建立两种类型的连接,先建立控制连接,然后建立数据连接

控制连接:客户端首先向服务端的TCP21号端口发起建立连接的请求,服务器接收请求,完成控制连接的建立

数据连接:控制连接建立后,开始建立数据连接,用于传输文件。数据连接有主动传输模式和被动传输模式。

主动传输模式图

被动传输模式图

主动传输和被动传输的优缺点:

1、主动传输对FTP服务器的管理有利,但对客户端不利,因为客户端的防火墙可能会禁止服务端对客户端高位端口连接的请求,导致连接失败;

2、被动传输对FTP客户端有利,但对服务端不利,因为服务端的防火墙可能会禁止客户端对服务段高位端口连接的请求,导致连接失败

控制连接和数据连接建立完后,即可开始进行数据传输,FTP传输数据的方式有ASCII和Binary两种。

Binary方式不会对数据进行任何处理。
    Ascii方式会将回车换行转换为本机的回车字符。

使用binary可以保证数据传输的完整性

ASCII通常用于windows传输文件到linux/unix系统中,因为windows和unix系统的行结束符不同,当使用binary传输时,在unix系统上打开文件文件的行尾都会多出一个^M符号,而使用ASCII传输则不会

vsftpd服务器安装和配置

1、安装vsftpd软件包

yum install -y vsftpd

2、修改配置文件/etc/vsftpd/vsftpd.conf

anonymous_enable=YES    #设置是否允许匿名用户登录
local_enable=YES        #设置是否允许本地用户登录
local_root=/home        #设置本地用户的根目录
write_enable=YES        #是否允许用户有写权限
local_umask=022        #设置本地用户创建文件时的umask值
anon_upload_enable=YES    #设置是否允许匿名用户上传文件
anon_other_write_enable=YES    #设置匿名用户是否有修改的权限
anon_world_readable_only=YES    #当为YES时,文件的其他人必须有读的权限才允许匿名用户下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载
download_enbale=YES    #是否允许下载
chown_upload=YES        #设置匿名用户上传文件后修改文件的所有者
chown_username=ftpuser    #与上面选项连用,表示修改后的所有者为ftpuser
ascii_upload_enable=YES    #设置是否允许使用ASCII模式上传文件
ascii_download_enable=YES    #设置是否允许用ASCII模式下载文件
chroot_local_user=YES        #设置是否锁定本地用户在自己的主目录中,(登录后无法cd到父目录或同级目录中)
chroot_list_enable=YES        #设置是否将用户锁定在自己的主目录中
chroot_list_file=/etc/vsftpd/chroot_list    #定义哪些用户将会锁定在自己的主目录中
userlist_enable=YES    #当为YES时表示由userlist_file文件中指定的用户才能登录ftp服务器
userlist_file=/etc/vsftpd/user_list    #当userlist_enable为YES时才生效

(默认情况下,匿名用户登录后所在的目录处于服务器的/var/ftp下)

3、启动vsftpd服务

service ftpd start
时间: 2024-12-26 05:43:05

ftp协议详解与vsftpd在linux上的安装配置的相关文章

NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用

图文详解OpenGL在Jetson TK1上的安装和使用 1.入门介绍与资源推介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口规格的专业的图形程序接口.它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库. OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设计.该API由Khronos集团定义推广,Khron

So Easy! Oracle在Linux上的安装配置系列四

So Easy! Oracle在Linux上的安装配置系列四  监听器的配置 在创建了数库和各种数据库对象并装载了数据后,下一步是在数据库服务器与使用它的用户之间建立连 接,Oracle Net Services使这种连接成为可能.Oracle Net Services组件必须"存活"在客户机和服务器上,它们一般使用TCP/IP网络协议来建立客户机和数据库服务器之间的网络连接. 本文官方文档位置: http://docs.oracle.com/cd/E11882_01/network.

So Easy! Oracle在Linux上的安装配置系列一

So Easy! Oracle在Linux上的安装配置系列一 本文为So Easy!Oracle在linux上的安装和配置序列的第一篇Oracle安装基础环境的搭建 VMware Workstation 11.0 配置和CentOS-6.6-x86_64安装 本文环境及所需软件: Win7 Sevice Pack1 内存 6GB VMware Workstation 11.0  build-2305329 CentOS-6.6-x86_64-bin-DVD1.iso Xmanger Enterp

So Easy! Oracle在Linux上的安装配置系列二

本篇是So Easy!Oracle11gr2在linux上的安装配置的第二篇,本篇将讲述oracle11g r2的安装 oracle安装的前期准备 oracle的安装 工具软件rlwrap-0.42.tar.gz的安装 oracle环境变量设置 文档位置: http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm 1.oracle安装的前期准备 7安装Linux的一些基础开发包 # export LANG=en_US.UTF-8

So Easy! Oracle在Linux上的安装配置系列七

So Easy! Oracle在Linux上的安装配置系列六 上几篇中,我们安装了oracle数据库软件,创建了数据库配置了监听,本篇是本系统文章的最后一篇,Oracle企业管理器的创建. 当完成了以上所有步骤后使用 $emctl start dbconsole 启动oracle企事业管理器,会出现以下错误,提示说没有设置ORACLE_UNQNAME环境变量 [[email protected] ~]$ emctl start dbconsoleEnvironment variable ORAC

So Easy! Oracle在Linux上的安装配置系列三使用create database创建数据库

本文为So Easy! Oracle在Linux上的安装配置系列的第三篇,使用create database创建数据库,本序列第一篇介绍了学习实验环境的搭建包括:在win 7中使用VMware Workstation 创建虚拟机,安装CentOS-6.6-x86_64,网络配置 和使用xshell连接远程linux服务器,上传Oracle软件和使用操作系统安装光盘搭建本地yum源,第二篇专门说了Oracle11g R2在CentOS6.6上的安装,包括Oracle安装前的准备工作,并以图文详细介

So Easy! Oracle在Linux上的安装配置系列五

So Easy! Oracle在Linux上的安装配置系列五 本篇是监听器的配置的续篇,上一小节我们创建了一个监听器,创建了密码文,在监听和实例都启动的情况下,从远程windows即时客户端连接到了oracle服务器.本篇我将继续说监听器,还将完成相关的实验 以下内容整理自网络 Oracle 监听器 Listener 是一个重要的数据库服务器组件,在整个 Oracle 体系结构中,扮演着重要的作用.它负责管理 Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默认是TCP 1521

linux上Elasticsearch 安装配置、网页访问

一.ElasticSearch简述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的.我们希望搜索解决方案要运行速度快,我们希望能有一个零配

转FTP协议详解

转自:http://www.cnblogs.com/li0803/archive/2010/11/16/1878833.html FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息.FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行