RHEL5.7下的vsftpd服务器配置

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。 
    在搭建vsftpd服务器之前,首先了解一下FTP的工作原理。 
    FTP的传输使用的可靠的TCP协议,使用了两个连接,分别是命令通道和数据流通道。一般来说,FTP服务占用两个端口:20和21端口。其中21端口用来建立命令通道,20端口用来建立数据通道。FTP分为两种模式建立连接,分别为主动模式和被动模式。 
    主动模式是通过客户端使用一个大于1024的随机端口向服务器的21端口发起请求,通过三次握手建立命令通道。如果此时有进行文件的上传或下载,服务器会使用20端口向客户端的另一个大于1024的端口发起请求,经过三次握手后建立数据通道。 
主动模式图示: 

clip_image001

被动模式下,建立命令通道的方式和主动模式一样,都是在21端口上建立。当有数据传输的指令时,客户端会在命令通道内向服务器发起请求;此时服务器会启用一个端口来监听,但不是20端口,而是一个大于1024的随机端口。这样一来服务器和客户端两端的数据通道会建立在大于1024的端口之间。 
被动模式图示:

clip_image002

现在可以聊一聊vsftpd了,vsftpd全名是“very secure FTP Daemon”,意味非常安全的FTP服务器。有关它的功能和安全性,让我们在后面的实验中慢慢体会。 

vsftpd服务器基本功能测试 
RHEL5默认情况下已经安装了vsftpd服务器,而且在没有做任何配置的情况下即可开启vsftpd服务。 
 
这时来到windows客户端,用命令行登陆ftp服务器,使用匿名账号anonymous或ftp登陆,密码空。即可成功登陆!默认的匿名FTP根目录为/var/ftp 

clip_image004

 
这时候可以用一些简单的命令查看用户目录的信息,例如dir是查看服务器根目录下的文件夹,可以发现有一个名为pub的文件夹。!dir则是查看自己计算机用户根目录下的文件夹,如下图所示。 

clip_image005

 
和linux中一样,pwd可以用来查看服务器当前目录的路径。在这里我们发现通过匿名用户登陆的ftp目录的路径是相对路径,即只能在/var/ftp这个目录里面访问,没有访问服务器其他路径的权限。lcd则可以用来查看本地计算机的当前路径。 

clip_image007

 
默认情况下匿名用户只有下载的权限,而没有上传的权限。如图所示,上传IPMSG.rar文件时被服务器拒绝,但是可以成功下载install.log文件。另外使用bye命令可以退出ftp服务器。 

clip_image008

 
vsftpd相关配置文件介绍: 
/etc/vsFTPd/vsFTPd.conf  vsftpd的主配置文件
/etc/pam.d/vsFTPd  这是使用PAM相关模块时用到的文件,用作身份验证之用。 
/etc/vsFTPd.ftpusers  这个文件相当于一个黑名单,包含了无法登陆FTP的用户。 
/etc/vsFTPd.ftpuser_list  这个文件既可以作黑名单也可作为白名单,主要看如何设置策略。 
/etc/vsFTPd.Chroot_list  这个文件默认不存在,需要手动建立,用途是将一些用户的根目录锁定在默认目录下,无法进入服务器其他目录。 
/etc/sbin/vsFTPd  vsftpd的启动文件。 
/var/FTP  vsftpd的默认匿名用户登陆的根目录。 

有关vsFTPd.conf文件设置值的说明 
anonymous_enable=YES 允许匿名用户登陆 
local_enable=YES 允许本地用户登陆 
write_enable=YES 允许用户上传 
local_umask=022 默认情况下上传的文件夹权限为777,文件的权限为666,022这个值的意思就是在默认权限的基础上减去022,即把文件可写的权限给去除掉,这样别人就只能读取文件,而不能修改文件 
anno_upload_enable=YES 允许匿名用户上传,默认被注释掉 
anno_mkdir_write_enable=YES 允许匿名用户创建文件夹,默认被注释掉 
dirmessage_enable=YES 当用户进入某个目录时,会显示该目录需要注意的内容,默认文件为.message 
xferlog_enable=YES 开启客户端上传和下载的日志记录 
connect_from_port_20=YES FTP数据通道端口号 
xferlog_std_enable=YES 日志采用标准格式 
pam_service_name=vsftpd  用户的认证文件为vsftpd 
userlist_enable=YES  可以用于检测userlist_file文件中的用户是否可以访问服务器 
listen=YES  工作在独立模式下 
tcp_wrappers=YES  linux自带的安全保护程序 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppdys.html