|
源代码网推荐1.声明 版本信息: 本文档的最新版本将张贴于:LinuxSir.Org论坛Debian发行版讨论区; 也可以从http://www.debsir.org/获取. 反馈: 所有评论,错误报告,其他信息以及批评,请邮寄到etony@tom.com; 或在LinuxSir.Org论坛Debian发行版讨论区张贴. 版权信息: 本文档的版权(c)2006-2007归etonyC.F.AN所有. 转载请注明源自http://www.debsir.org/. 2.FTP原理 FTPTransferProtocol件传输协议的缩写,在RFC959中具体说明。 FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。 控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。 数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。 FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式 PORT模式(主动方式) FTP客户端首先和FTPServer的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP20端口发送数据。FTPserver必须和客户端建立一个新的连接用来传送数据。
PASV模式(被动方式) 在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送PASV命令的时候,FTPserver打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTPserver将通过这个端口进行数据的传送,这个时候FTPserver不再需要建立一个新的和客户端之间的连接传送数据。 如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。
3.VSFTPD vsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在诸如Linux,BSD,Solaris,HP-UX以及IRIX上面。它支持很多其他的FTP服务器不支持的特征。比如: 非常高的安全性需求 带宽限制 良好的可伸缩性 创建虚拟用户的可能性 IPv6支持 中等偏上的性能 分配虚拟IP的可能性 高速 vsftpd的名字代表"verysecureFTPdaemon",安全是它的开发者ChrisEvans考虑的首要问题之一。在这个FTP服务器设计开发的最开始的时候,高安全性就是一个目标。 一个例子就是vsftpd是在chroot模式下工作的,chroot模式就是为程序(这里就是vsftpd了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了---所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的FTP服务器将被从系统的其他部分独立开来,从而避免了更大的损失。 由于有了如此多的特性,其中FTP服务的安全性应该是最重要的,vsftpd比其他FTP服务器更加优越。WU-FTPDhttp://www.wu-ftpd.org/在这里可以被视作一个反面的例子,因为它在过去的几年中出现了太多的安全缺陷。 4.VSFTPD的基本配置 4.1安装 源代码安装 详细参阅:http://www.vsftpdrocks.org/source/ 下载源代码 wgetftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.1.tar.gz 解压
tarzxvfvsftpd-1.2.1.tar.gz 进入源代码目录
cdvsftpd-1.2.1 编译
make 创建用户 如果不存在nobody用户,请创建
useraddnobody
创建目录 vsftpd需要/usr/share/empty目录,如果不存在,请创建:
mkdir/usr/share/empty
安装
makeinstall 复制配置文件到/etc目录
cpvsftpd.conf/etc 以独立方式启动vsftpd服务
/usr/local/sbin/vsftpd& 4.2使用Debian的方式安装 #aptitudeupdate #aptitudeinstallvsftpd(2.0.5) 源代码网供稿. |