Vsftpd软件包的获取与安装

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

(点击查看大图)图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目录下。

时间: 2024-10-24 18:32:46

Vsftpd软件包的获取与安装的相关文章

ftp协议详解与vsftpd在linux上的安装配置

什么是FTP? FTP,文件传输协议,可以实现在网络上传输多种类型的文件 一个完整的FTP文件传输需要建立两种类型的连接,先建立控制连接,然后建立数据连接 控制连接:客户端首先向服务端的TCP21号端口发起建立连接的请求,服务器接收请求,完成控制连接的建立 数据连接:控制连接建立后,开始建立数据连接,用于传输文件.数据连接有主动传输模式和被动传输模式. 主动传输模式图 被动传输模式图 主动传输和被动传输的优缺点: 1.主动传输对FTP服务器的管理有利,但对客户端不利,因为客户端的防火墙可能会禁止

MacOS 如何使用软件包管理器 Homebrew-Cask 安装软件?

本文标签: Mac效率工具 Mac小工具 MacOS Homebrew-Cask Mac软件包管理器 软件包管理简介 苹果系统结合了Windows的图形界面以及Linux的命令行,现在开发人员都清一色的用Mac了. Linux系统下安装.更新软件都很方便,除了我感觉用CentOS系统的一些人还喜欢 老三部曲 :下载.编译.安装.大部分人都更习惯基于包管理系统安装软件,当然更新.移除软件也用包管理系统搞定了. Mac系统的包管理不像Linux是由操作系统自带的,Mac官方默认没有提供这样的包管理系

Linux-rpm命令-查看已安装软件包信息及未安装rpm包信息

博文说明[前言]: 本文将通过个人口吻介绍rpm命令,包括查看已安装软件包信息及未安装rpm包信息. 在目前时间点[2017年6月12号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 正文: RPM常用命令中的各种缩写选项,其实是有依据的,弄明白之后,其实很好玩,我们可以参考下方:q=queryp=packagei=infol=listf=filec=conf... 一:查看系统已

winPcap_4_获取已安装设备的高级信息

由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of which corresponds to an entry in the addresses list). 一个广播地址列表 (each of which corresponds to an entry in the addresses list). 一个目的地址列表 (each of which

Android之——获取手机安装的应用程序

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中,向大家介绍了几个项目中常用的实用功能,那么在这篇博文中,我将向大家介绍如何获取Android手机中已经安装的手机应用程序,实用过金山手机卫士或者360手机卫士的童鞋都知道,这些软件都可以获取到当前手机中安装的应用程序.那么,这些功能是如何实现的呢?就让我们一起来看看这些功能具体是如何实现的吧. 一.原理 原理很简单,我们通过Andr

C# 获取程序安装目录

在网页启动本地程序需要将命令写入注册表,在网页调用命令即可. 首先将注册信息创建一个注册表文件 .reg 格式,以页面启动 notepad++ 程序为例 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Webshell] [HKEY_CLASSES_ROOT\Webshell\DefaultIcon] [HKEY_CLASSES_ROOT\Webshell\shell] [HKEY_CLASSES_ROOT\Webshell\she

Android菜鸟笔记- 获取未安装的APK图标、版本、包名、名称、是否安装、安装、打开

周末闲来无事,把Android的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标可以用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable.但实际使用的时候经常只能得到一个默认的图标,根本不是APK的图标. 参考小米开源文件管理器,结合实践,代码如下: /* * 采用了新的办法获取APK图标,之前的失败是因为andro

[Q]“获取AutoCAD安装信息时失败...”解决方法

“获取AutoCAD安装信息时失败...”解决方法:在“setup.exe”上右键,以管理员权限运行即可.

获取sqlserver安装路径 得到SQL中的各种目录

1.select filename from master..sysfiles 2.master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath' --得到SQL中的各种目录declare @path varchar(8000) --得到当前数据库的数据文件路径select @path=rtrim(reverse(filename)) from sysfi