vsftp服务详解

vsftpd是一款安全的文件共享软件:

特点:

1.C/S模型

客户端   服务器

2.FTP采用双TCP连接方式

①控制连接使用TCP端口号21:用于在FTP客户端和FTP服务器之间传输FTP控制命令及            命令执行信息。控制连接在整个FTP会话期间一直保持打开

②数据连接使用TCP端口号20:用于传输数据,包括数据上传、下载、文件列表发送等。数            据传输结束后数据连接将终止粒度

3.FTP采用两种数据传输方式

①主动方式  (服务端20端口连接客户端端口+1)

主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式,主要特点是:

FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号

当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输

在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式

②被动方式   //服务器角度

被动方式也称为PASV方式,被动方式的主要特点是:

FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端            口号并知知客户端,当需要传送数据时,客户端主动与服务器的临时端口号建立数据传                输通道,完成

数据传输

在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式

4.FTP有两种文件传输模式

ASCII模式

二进制模式:为防止乱码,普遍用二进制传输模式

5.其他特性:

除了安全、高速、稳定之外,vsftpd 还具有如下的功能:

支持基于IP 的虚拟FTP 服务器

支持虚拟用户

支持PAM 或xinetd/tcp_wrappers 的认证方式

支持两种运行方式:独立和Xinetd

支持每个虚拟用户具有独立的配置

支持带宽限制等

6.ftp的典型消息

在用于ftp客户程序与ftp服务器进行通信时,经常会看到一些由ftp服务器发送消息,这些消息是ftp协议所定义的。下面列出典型的ftp消息:

消息号

125:数据连接打开,传输开始

200:命令OK

226:数据传输完毕

331:用户名OK

425:不能打开数据连接

426:数据连接被关闭,传输被中断

452:错误写文件

500:语法错误,不可识别的命令

实验:安装yum install vsftpd

使用匿名用户登陆:(注意必须填写用户名,不能为空)

使用系统用户登陆:发现系统用户默认登录到了自己的家目录,并且可以随意切换目录(不安全)

使用tcpdump -i lo -nn -X -vv tcp port 21抓包:发现密码时明文传输到(不安全)

配置文件介绍:/etc/vsftpd/vsftpd.conf

anon_upload_enable=YES:是否允许匿名用户上传文件

anon_mkdir_write_enable=YES是否允许匿名用户创建目录
anon_other_write_enable=YES是否允许匿名用户对文件有写权限(可以删除)

旗语:

ftpd_banner=This server is very important,do not touch it  设置旗语---ftp登录时提示

banner_file=/var/vsftpd_banner_file将旗语定义在文件中

设置日志:传输文件时日志会记录在xfer.log中

xferlog_file=/var/log/xfer.log

xferlog_enable=YES

文件上传后自动修改文件属主属组

#chown_uploads=YES
#chown_username=whoever

安全选项:

设置空闲的用户会话的中断时间

例如下面的配置:

idle_session_timeout=600

将在用户会话空闲10 分钟后被中断。

设置空闲的数据连接的的中断时间

例如下面的配置:

data_connection_timeout=120

将在数据连接空闲2 分钟后被中断。

设置客户端空闲时的自动中断和激活连接的时间

例如下面的配置:

accept_timeout=60

connect_timeout=60

将使客户端空闲1 分钟后自动中断连接,并在中断1 分钟后自动激活连接。

禁锢用户在自己的家目录:

#chroot_local_user=YES禁锢所有系统用户
#chroot_list_enable=YES 启用禁锢用户列表
#chroot_list_file=/etc/vsftpd/chroot_list 在这个列表中定义需要被禁锢的目录
访问控制:

pam_service_name=vsftpd  使用pam控制,在/etc/pam.d/vsftpd下定义了pam规则,下面表示凡是在ftpusers文件中定义的用户都禁止访问ftp服务器

userlist优先级高于ftpusers文件,当userlist文件定义放弃控制权ftpusers文件才生效

userlist_enable=YES使userlist文件生效

userlist_file= /etc/vsftpd.user_list默认所有此文件中的用户都不能登录

userlist_deny=YES使用YES指user_list文件中的用户拒绝登陆,如果NO则仅允许user_list中用户登录

限速:注意是以k为单位

local_max_rate=50000

anon_max_rate=30000

pasv_min_port=50000

pasv_max_port=60000

限制:登录数

max_clients (总数限制)

max_per_ip (单IP最多并行几个登录会话)

虚拟用户默认使用匿名用户的权限,在配置文件中使用匿名用户的配置条目控制虚拟用户

时间: 2024-12-07 16:38:38

vsftp服务详解的相关文章

vsftp配置详解

vsftp配置详解 FTP:文件传输协议(File Transfer Protocol) 是用于在网络上进行文件传输的一套标准协议.它属于网络传输协议的应用层. FTP服务一般运行在20和21两个端口 20用于在客户端和服务器之间传输数据流(主动模式时使用)  21用于传输控制流,并且是命令通向ftp服务器的进口. FTP两种使用模式: 主动PORT模式:PORT模式 由FTP服务器端发起,FTP服务器使用20端口连接客户端的某一个大于1023的随机端口. 被动PASV模式:PASV模式 由FT

CentOS 默认基本服务详解

1.使用chkconfig --list来查看安装的服务,比如我这里最小化安装后的一些服务 [[email protected] ~]# chkconfig --list auditd          0:off   1:off  2:on    3:on    4:on   5:on    6:off crond           0:off   1:off  2:on    3:on    4:on   5:on    6:off ip6tables       0:off  1:off

HTTPD服务详解

HTTPD服务详解 目录 一.httpd的程序版本 二.httpd的特性 三.httpd的功能特性 四.httpd使用 1.httpd的安装 2.程序环境 Httpd-2.2 (Centos6) http-2.4 (Centos7) 五.http配置相关说明 1.修改监听的ip和port 2.持久连接 3.MPM 4.DSO配置指令模块加载 5.定义Main'server文档页面路径 6.站点访问控制 文件系统路径 URL路径 7.<Directory> 中基于源地址实现访问控制 Option

winxp计算机管理中服务详解

winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blog_b08c76100102vijm.html winxp计算机管理中服务详解02 http://blog.sina.com.cn/s/blog_60f923b50100efz3.html http://blog.sina.com.cn/s/blog_b08c76100102vijn.html

CentOS5启用Telnet服务详解(转载)

CentOS5启用Telnet服务详解 配置步骤如下: 一.安装telnet软件包(通常需要两个) 1. telnet(或 telnet-client),这个软件包提供telnet 客户端程序: 2. telnet-server,这个软件包提供telnet 服务器端程序: 安装之前先检查系统是否已安装这些软件包,方法如下: [[email protected] /]#rpm –qa |grep telnet 如果没有检测到软件包,则需要进行安装.CentOS5默认已安装了telnet软件包,te

angular-ngSanitize模块-$sanitize服务详解

本篇主要讲解angular中的$sanitize这个服务.此服务依赖于ngSanitize模块. 要学习这个服务,先要了解另一个指令: ng-bing-html. 顾名思义,ng-bind-html和ng-bind的区别就是,ng-bind把值作为字符串,和元素的内容进行绑定,但是ng-bind-html把值作为html,和元素的html进行绑定.相当于jq里面的.text()和.html(). 但是,出于安全考虑,如果我们直接使用ng-bind-html是会报错的,ng-bind-html后面

Oracle启动服务详解

成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度.那么,具体该怎么做呢? 按照win7 64位环境下Oracle 11g R2安装详解中的方法成功安装Oracle 11g后,共有7个服务,分别为: 1.Oracle ORCL VSS Writer Service, 2.OracleDBConsoleorcl, 3.OracleJobSchedulerORCL, 4.OracleMT

Oracle 11g的7个服务详解

成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy).它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能.(非必须启动) 2. OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是

MySQL服务器主从服务详解

MySQL主从复制概念 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从