红联Linux门户
Linux帮助

Linux(RHEL5)构建FTP文件传输服务器<理论篇>

发布时间:2015-04-12 16:00:38来源:linux网站作者:忘真楠

构建FTP文件传输服务器

FTP服务概述

1.FTP连接传输模式

主动模式: 服务器主动发起数据连接,首先由客户端向服务器的21端口建立FTP控制连接,当需要传输数据时,客户端以PORT命令告知服务器“我打开了某个端口,你过来连接我”,于是服务器从20端口向客户端的该端口发送请求并建立数据连接

被动模式: 服务器被动等待数据连接,如果客户端所在网络的防火墙禁止主动连接,通常会使用被动模式。首先由客户端向服务器的21端口建立FTP控制连接,当需要传输数据时,服务器以PASV命令告知客户端“我打开了某个端口,你过来连接我”预算客户机像服务器该端口(非20)发送请求并建立数据连接

文本模式:又称为ASCII模式,传输文件时使用ASCII字符列,一般只用于纯文本传输

二进制模式:又称为Binary模式,这种模式不会转换文件中的字符序列。更适合自动选择文件传输模式,而无需用户手工指定

2.FTP用户类型

匿名用户(其用户名为ftp或anonymous,提供任意密码包括空密码都可以通过服务器的验证)

本地用户(直接使用服务器系统用户账号进行验证)

虚拟用户(FTP服务器维护的独立的用户数据库文件,不直接使用本地系统用户)

3.FTP软件的种类

Windows   IIS   Serv-U

Linux      Wu-ftpd、Protftpd、vsftpd

4.FTP客户端的种类

Windows:CuteFTP/FlashFXP/leapFTP/Filezilla

Linux:gftp/kuftp


vsftp服务基础

1.用户控制列表文件ftpusers和user_list

ftpusrs文件:(只有一个功能,即禁用)包含在该文件中的用户将被禁止登录vsftpd服务器,不过该用户是否在user_list文件中出现(即优先级高于user_list文件)

user_list文件:该文件中的用户有可能被禁止登录,有可能被允许登录,具体由主配置文件vsftpd.conf的配置决定。

2.主配置文件vsftpd.conf

vsftpd.conf常见配置选项及含义说明

 

作用范围

配置项示例

含义说明

 

 

 

匿名用户

anonymous_enable=YES

是否允许匿名访问

anon_umask=022

匿名用户上传文件的默认权限掩码

anon_root=/var/ftp

匿名用户FTP的根目录

anon_mkdir_write_enable=YES

是否允许匿名用户有创建目录的写入权限

anon_other_write_enable=YES

是否允许匿名用户有其他的写入权限,如文件改名,覆盖及删除

anon_upload_enable=YES

是否允许匿名用户上传文件

anon_max_rate=0

匿名用户上传文件的最大传输速率,0为无限制,单位为字节/每秒

 

 

本地用户

local_enable=YES

是否允许本地用户访问

local_umask=022

本地用户上传文件的默认权限掩码

local_root=/var/ftp

本地用户FTP的根目录(默认是用户的宿主目录,所以一般将此行删掉)

chroot_local_user=YES

是否将本地用户禁锢在宿主目录中(基于客户端安全考虑,如果不禁用,客户端有可能随意切换目录,是很危险的)

local_max_rate=0

本地用户上传文件的最大传输速率,0为无限制,单位为字节/每秒

 

 

 

 

 

 

 

 

 

全局配置

 

 

 

 

listen=YES

是否以独立允许的方式监听服务

listen_port=21

设置监听FTP服务的端口号

write_enable=YES

启用任何形式的写入权限都要开启此项(总阀门)如上传、删除文件等

download_enable=YES

是否允许下载文件

dirmessange_enable=YES

用户切换目录,进入目录时显示的.messanges文件(如果存在)的内容

xferlog_enable=YES

用于xferlog日志,默认记录到/var/log/xferlog文件

 

 

xferlog_std_format=YES

启用标准的xferlog日志格式,若禁用此项将使用vsfpd自己的日志格式

connent_from_port=20

允许服务器主动模式(从20端口建立数据连接)

pasv_enable=YES

允许服务器被动模式连接

pasv_max_port=24600

设置用于被动模式的服务器的最大端口号

pasv_min_port=24500

设置用于被动模式的服务器的最小端口号

pam_service_name=vsftpd

PAM文件位置(/etc/pam.d目录下)

userlist_enable=YES

是否启用user_list用户列表

userlist_deny=YES

是否禁用user_list列表文件中的用户

max_client=20

允许最多有多少个用户同时连(0为无限制)

max_per_ip=0

对来自同一IP客户端,最多允许多少个并发连接(0为无限制)

tcp_wrappers=YES

是否启用TCP_Wappers主机访问控制