FTP
早起三大网络应用 ftp http mail
FTP的全称file transfer protocol 文件传输协议
40年之前出现的
缺点:明文传输 比较麻烦
FTP 采用双TCP连接方式 C/S模型
控制连接使用TCP端口号21
数据连接使用TCP端口号20
控制连接: 用于在FTP客户端和FTP服务器之间传输FTP控制命令及命令执行信息.控制连接在整个FTP会话期间一直保持打开
数据连接
用于传输数据,包括数据上传、下载、文件列表发送等.数据传输结束后数据连接将终止 粒度
FTP采用两种数据传输方式:
主动方式:PORT
被动方式:PASV
站在服务器角度看,由客户端选择的
FTP有两种文件传输模式:
ASCII模式:默认的文件传输模式,特点:本地文件转换成标准的ASCII码在传输.适用于传输文本文件
二进制模式: 图像文件传输模式,特点是文件按照比特流的方式进行传输,适用于传送程序文件.一般默认是二进制模式
文本模式和二进制模式的区别
文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,系统管理员一般将FTP设置成二进制模式.
二进制模式用来传送可执行文件,压缩文件,和图片文件.如果你用ASCII模式传,会显示一堆乱码,你重新用BINARY模式传.用HTML和文本编写的文件用ASCII模式上传,用BINARY模式上传会破坏文件,导致文件执行出错.?
启用ASCII 传输方式
默认情况下,vsftpd 为了提高传输效率,禁止了ASCII 传输方式.虽然在ftp 客户软件中可以使用asc命令,但是传输文件时仍然使用二进制传输方式.
可以分别启用上传和下载的ASCII 传输方式,方法是编辑/etc/vsftpd 配置文件,将如下两行前的#去掉即可启用.
#ascii_upload_enable =YES
#ascii_download_enable=YES
常见的FTP服务器程序
IIS Serv-U Filezilla 用于windows
wu-ftpd Proftpd比较常用
vsftpd (Very Secure FTP Daemon)linux中默认的FtP
常见的FtP客户端程序:
ftp命令 ie chrome
CuteFTP FlashFXP用的比较多,通信加密 LeapFTP Filezilla
gftp kuftp
vsftpd 特性:高速,稳定,与生俱来的安全性能高
大小:140kB
速度方面:它是wu-FTPd的两倍
稳定性方面:在单机支持4000个以上的并发用户同时连接
功能:支持基于IP的虚拟FTP服务器
支持虚拟用户
支持PAM或xinetd/tcp_wrappers的认证方式
支持两种运行方式:独立和Xinetd
支持每个虚拟用户具有独立的配置
支持带宽限制等
FTP用户类型:匿名用户:anonymous或ftp
本地用户:账号名称,密码等信息保存在passwd shadow文件中
虚拟用户:使用独立的账号/密码数据文件
user_list zhangsan 123456 /var/pub
vsftpd 软件包
官方网站:http://vsftpd.beasts.org/
主程序:/usr/sbin/vsftpd
服务名:vsftpd
用户控制列表文件:/etc/vsftpd/ftpusers禁止登录用户列表
/etc/vsftpd/usr_list仅提供一个用户列表,是否禁用在配置文件中设置
配置文件:/etc/vsftpd/vsftpd.conf
配置基本的性能和安全选项
1. 设置空闲的用户会话的中断时间
例如下面的配置:
idle_session_timeout=600
将在用户会话空闲10 分钟后被中断.
2. 设置空闲的数据连接的的中断时间
例如下面的配置:
data_connection_timeout=120
将在数据连接空闲2 分钟后被中断.
3. 设置客户端空闲时的自动中断和激活连接的时间
例如下面的配置:
accept_timeout=60
connect_timeout=60
将使客户端空闲1 分钟后自动中断连接,并在中断1 分钟后自动激活连接.
设置连接服务器后的欢迎信息
为了使用户连接服务器后显示信息,vsftpd 提供了两个选项,分别是:
ftpd_banner
banner_file
例如:可以设置如 |