vsftp简介

本文介绍了FTP的主动模式和被动模式,详细讲解了VSFTPd的安装配置过程,包括核心文件、配置参数及其意义,如`vsftpd.conf`中的`Anonymous_enable`、`Anon_upload_enable`等,以及如何调整数据连接端口、限制连接数和速率控制等设置。
vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件.其全称是Very Secure FTP Deamon,在安全性,速度和稳定性都有着不俗的表现.在安全性方面,vsftpd针对程序的权限来设计,以一般身份启动服务,对Linux系统的使用权限较低;在千兆以太网上,vsftpd的速度可以达到86MB/s;在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发连接为1500用户,峰值达4000用户,而这些还是在单机上实现的.此外,vsftpd 还包括以下特性:
基于IP的虚拟服务器
虚拟用户,结合数据库的用户验证
每个用户独立配置文件
速率限制
IPV6支持
支持SSL加密传输
……
vsftpd的安全性主要体现在三个方面:进程分离,处理不同的任务进程彼此是独立运行的;进程运行时均以最小权限运行;多数进程都使用chroot进行了禁锢,防止客户访问访问非法共享目录,这里的chroot是改变根的一种技术。

以下站点一直在使用vsftpd(这仅仅是很少很少的一部分站点)

ftp.redhat.com
ftp.suse.com
ftp.debian.org
ftp.openbsd.org
ftp.freebsd.org
ftp.gnu.org
ftp.gnome.org
ftp.kde.org
ftp.kernel.org
rpmfind.net
ftp.linux.org.uk
ftp.gimp.org
ftp-stud.fht-esslingen.de
gd.tuwien.ac.at
ftp.sunet.se
ftp.ximian.com
ftp.engardelinux.org
ftp.sunsite.org.uk
ftp.isc.org

FTP的两种工作方式
 主动模式(active mode):传输数据时,服务器会主动连接客户端
第一步:客户端随机开启大于1024的A端口与服务器的21端口建立连接通道,通道建

立后,客户端随时可以通过该通道发送上传下载命令;
第二步:当客户端需要与服务器进行数据传输时,客户端会再开启一个大于1024的随机端口B,并将B端口号通过之前的命令通道传送给服务器的21号端口;
第三步:服务器获取到客户端的第二个端口后通过20号端口主动连接客户端的该端口,通过三次握手后,完成服务器与客户端数据通道的建立,所有的数据均通过这个数据通道进行传输。

被动模式(passive mode): 传输数据时,客户端主动连接服务器
第一步:FTP服务器端口大于1024的A端口与服务器的21号端口建立连接通道;
第二步:当客户端需要与服务器进行数据传输时,客户端从命令通道发送数据请求要求上传下载数据;
第三步:服务器收到数据请求后会随机开启一个端口B,并通过命令通道发送这个端口信息给客户端;
第四步:客户端收到服务器发过来的数据端口B的信息后,将在客户端本地开启一个随机端口C,此时客户端再主动通过主机的C端口号与服务器的B端口进行连接,通过三次握手完成后,最后进行数据传输。
总而言之,FTP协议需要多个端口才能完成工作,其中一个端口用来命令传输(指令端口),一个端口用来数据传输(数据端口),所以平常大家在使用FTP客户端工具传数据给服务器的时候,如果能连上,不能传输,请尝试更换你的连接模式。

vsftp安装配置
[root@ex01 ~]# yum -y install vsftpd
[root@ex01 ~]# chkconfig vsftpd on
[root@ex01 ~]# service vsftpd start
VSFTPD的核心文件和目录:
/etc/pam.d/vsftpd --基于PAM认证的vsftpd验证配置文件
/etc/logrotate.d/vsftpd --日志轮转备份配置文件
/etc/rc.d/init.d/vsftpd --vsftpd启动脚本,供server调用
/etc/vsftpd --vsftpd的主目录
/etc/vsftpd/ftpusers --默认的黑名单
/etc/vsftpd/user_list --可以通过主配置设置该文件为黑(白)名单
/etc/vsftpd/vsftpd.conf --vsftpd主配置文件
/var/ftp --vsftpd默认共享目录

主配置文件参数解析
Anonymous_enable=yes --允许匿名登陆
Dirmessage_enable=yes --切换目录时,显示目录下.message的内容
Local_umask=022 --FTP上本地的文件权限,默认是077
Connect_form_port_20=yes --启用FTP数据端口的数据连接
Xferlog_enable=yes --激活上传和下传的日志
Xferlog_std_format=yes --使用标准的日志格式

Ftpd_banner=XXXXX --显示欢迎信息
Pam_service_name=vsftpd --验证方式
Listen=yes --独立的VSFTPD服务器
Anon_upload_enable=yes --匿名用户上传权限
Anon_mkdir_write_enable=yes --创建目录的同时可以在此目录中上传文件
Write_enable=yes --本地用户写的权限
Anon_other_write_enable=yes --匿名帐号可以有删除的权限
Anon_world_readable_only=no --匿名用户浏览权限
Ascii_upload_enable=yes --启用上传的ASCII传输方式
Ascii_download_enable=yes --启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file --用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=600(秒) --用户会话空闲后10分钟
Data_connection_timeout=120(秒) --将数据连接空闲2分钟断
Accept_timeout=60(秒) --将客户端空闲1分钟后断
Connect_timeout=60(秒) --中断1分钟后又重新连接
Local_max_rate=50000(bite) --本地用户传输率50K
Anon_max_rate=30000(bite) --匿名用户传输率30K
Pasv_min_port=5000 --将客户端的数据连接端口改在5000—6000之间
Pasv_max_port=6000

Max_clients=200 --FTP的最大连接数
Max_per_ip=4 --每IP的最大连接数
Listen_port=5555 --从5555端口进行数据连接
Local_enble=yes --本地帐户能够登陆
Write_enable=no --本地帐户登陆后无权删除和修改文件
Chroot_local_user=yes --本地所有帐户都只能在自家目录
Chroot_list_enable=yes --文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes --在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/ 路径/文件名 --连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 --将虚拟服务绑定到某端口

Guest_enable=yes --虚拟用户可以登陆
Guest_username=所设的用户名 --将虚拟用户映射为本地用户
Chown_uploads=yes --改变上传文件的所有者为root
Chown_username=root
Deny_email_enable=yes --是否允许禁止匿名用户使用某些邮件地址
Banned_email_file=//任意指定的路径/xx/
Pasv_enable=yes --服务器端用被动模式
User_config_dir=/任意指定的路径//任意文件目录 指定虚拟用户存放配置文件的路径、

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值