Vsftpd软件包的获取与安装

Share To Facebook Twitter

11.2  Vsftpd简介
Vsftpd是一种在GPL许可下开放源代码的FTP服务器,用于多种UNIX系统和Linux系统。Vsftpd也称为Very Secure FTP Daemon,它是一种安全、快速、稳定的FTP服务器,能够高效地处理大量的并发连接。
11.2.1  Vsftpd软件包的获取与安装
Vsftpd的主要特点包括:
提供安全的体系结构,根据任务的最低特权需求单独执行每个任务。
支持虚拟IP配置,可以在提供一个IP地址的情况下,在域中用该地址建立多个FTP服务器。
允许配置并使用虚拟用户,从而与系统用户账户分离。
支持TCP封装。
允许配置匿名服务器,用户可以在不需要身份验证的情况下上传和下载文件。
性能稳定,可以处理大量的并发连接。
可以配置为独立的服务器。
Vsftpd服务器支持带宽控制。
Linux几乎所有的发行版本都内置了Vsftpd服务,Red Hat Enterprise Linux 5 也自带了Vsftpd服务。对于已经安装了Vsftpd的Red Hat Enterprise Linux 5,可以选择【应用程序】|【添加/删除软件】中的【软件包管理者】选项,查看Vsftpd服务,如图11.1所示。
也可以在终端执行以下命令,查看系统是否已经安装了Vsftpd软件包:

 
  1. # rpm -qa|grep Vsftpd  
  2. vsftpd-2.0.5-10.el5 

如果出现以上结果,表明已安装vsftpd-2.0.5-10.el5.i386.rpm。
Vsftpd软件包的安装方法有两种。
1.手动安装Vsftpd软件包
用户可以在http://vsftpd.beasts.org/上下载需要的Vsftpd RPM安装包,也可以在Red Hat Enterprise Linux 5的安装盘中找到需要安装的RMP,用rpm -ivh命令进行安装。安装RMP时需要拥有系统的root权限。以安装vsftpd-2.0.5-10.el5.i386.rpm为例,应使用以下命令:

 
  1. # rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm 


Vsftpd软件包的获取与安装
(点击查看大图)图11.1  查看Vsftpd软件包

2.根据源代码编译安装
在需要更高版本或需要对安装过程进行定制的情况下,可以用vsftpd的源代码进行编译安装。源代码可以从http://vsftp.beasts.org网站下载,最新的版本是vsftpd-2.0.5.tar.gz。默认的配置中,Vsftpd需要使用nobody用户和/usr/share/empty目录。在安装Red Hat Enterprise Linux 5时,系统会自动创建nobody用户,和/usr/share/empty目录。可以通过以下命令测试该用户和目录是否已经存在,如果不存在则创建该用户和目录。

 
  1. # useradd nobody  
  2. # mkdir /usr/share/empty 

如果nobody用户已经存在,系统会提示"useradd: 用户nobody已经存在"。如果目录/usr/share/empty目录已经存在,系统会提示"目录已存在"。
如果需要Vsftpd支持匿名服务,应使用以下命令创建ftp用户,并使其具有home目录的权限:

 
  1. # mkdir /var/ftp  
  2. # useradd -d /var/ftp ftp  
  3. # chown root.root /var/ftp  
  4. # chmod og-w /var/ftp 

用户和目录权限设置完成后,可以进行编译安装,使用命令如下:

 
  1. # tar -zxvf vsftpd-2.0.5.tar.gz  
  2. # cd vsftpd-2.0.5  
  3. # make  
  4. # make install 

安装完成后,需要将配置文件复制到/etc目录下:

 
  1. # cp vsftpd.conf /etc/ 

然后使用以下命令,允许本地用户登录服务器:

 
  1. # cp RedHat/vsftpd.pam /etc/pam.d/ftp 

最后,编辑配置文件/etc/vsftpd.conf,在最后一行加入listen=YES,并保存。
在命令行输入以下命令即可启动Vsftpd:

 
  1. # vsftpd &  
  2. [1] 3457 

&表示Vsftpd在后台运行。可以用以下命令对编译安装的Vsftpd进行检测:

 
  1. # ftp localhost  
  2. Connected to teacher.bit.edu.cn.  
  3. 220 (vsFTPd 2.0.5)  
  4. 530 Please login with USER and PASS.  
  5. 530 Please login with USER and PASS.  
  6. KERBEROS_V4 rejected as an authentication type  
  7. Name (localhost:root): anonymous  
  8. 331 Please specify the password.  
  9. Password:  
  10. 230 Login successful.  
  11. Remote system type is UNIX.  
  12. Using binary mode to transfer files.  
  13. ftp> ls  
  14. 227 Entering Passive Mode (127,0,0,1,71,146)  
  15. 150 Here comes the directory listing.  
  16. drwxr-xr-x    2 0        0            4096 Jan 17  2007 pub  
  17. 226 Directory send OK.  
  18. ftp> bye  
  19. 221 Goodbye. 

下面对以上检测结果做几点说明。
# ftp localhost
表示连接本地服务器。
220 (vsFTPd 2.0.5)
表示Vsftpd2.0.5是已安装的Vsftpd的版本。
Name (localhost:root): anonymous
表示输入用户名,此处为匿名(anonymous)用户。
Password:
表示Password之后应输入密码,但在Linux终端下不显示所输入的密码内容。
230 Login successful
提示登录成功。
ftp> ls
在"ftp>"提示符下,表示正在使用Vsftpd服务,ls命令可查看服务器上的文件。
ftp> bye 221 Goodbye.
表示退出Vsftpd服务器。
安装完成后可以看到,Vsftpd的文件布局结构很简洁,如表11.1所示。
表11.1  Vsftpd文件布局

/etc/vsftpd/vsftpd.conf 主配置文件
/usr/sbin/vsftpd Vsftpd的主程序
/etc/rc.d/init.d/vsftpd 启动脚本
/etc/pam.d/vsftpd PAM认证文件
/etc/vsftpd.ftpusers 禁止使用Vsftpd的用户列表文件
/etc/vsftpd.user_list 禁止或允许使用Vsftpd的用户列表文件
/var/ftp 匿名用户主目录
/var/ftp/pub 匿名用户的下载目录
 

此外,还有一些说明文档和手册文件。Vsftpd的日志文件位于/etc/logrotate.d/vsftpd.log目录下。
(责任编辑:IT)

发表评论