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软件包:
# rpm -qa|grep Vsftpd
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为例,应使用 以下命令:
# 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目录。可以 通过以下命令测试该用户和目录是否已经存在,如果不存在则创建该用户和目录。
# useradd nobody
# mkdir /usr/share/empty
如果nobody用户已经存在,系统会提示"useradd: 用户nobody已经存在"。如果目录/usr/share/empty目录已经存在,系统会提示"目录已存在"。
如果需要Vsftpd支持匿名服务,应使用以下命令创建ftp用户,并使其具有home目录的权限:
# mkdir /var/ftp
# useradd -d /var/ftp ftp
# chown root.root /var/ftp
# chmod og-w /var/ftp
用户和目录权限设置完成后,可以进行编译安装,使用命令如下:
# tar -zxvf vsftpd-2.0.5.tar.gz
# cd vsftpd-2.0.5
# make
# make install
安装完成后,需要将配置文件复制到/etc目录下:
# cp vsftpd.conf /etc/
然后使用以下命令,允许本地用户登录服务器:
# cp RedHat/vsftpd.pam /etc/pam.d/ftp
最后,编辑配置文件/etc/vsftpd.conf,在最后一行加入listen=YES,并保存。
在命令行输入以下命令即可启动Vsftpd:
# vsftpd &
[1] 3457
&表示Vsftpd在后台运行。可以用以下命令对编译安装的Vsftpd进行检测:
# ftp localhost
Connected to teacher.bit.edu.cn.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,71,146)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Jan 17 2007 pub
226 Directory send OK.
ftp> bye
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目录下。
Vsftpd软件包的获取与安装的更多相关文章
- linux下自动获取并安装软件包 apt-get 的命令介绍
apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install p ...
- Java 获取APK安装程序的包名
Java 获取APK安装程序的包名核心的两个类: ResPackage ApkDecoder package com.temobi.util; import java.io.File; impo ...
- winPcap_4_获取已安装设备的高级信息
由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of ...
- [Q]“获取AutoCAD安装信息时失败...”解决方法
“获取AutoCAD安装信息时失败...”解决方法:在“setup.exe”上右键,以管理员权限运行即可.
- jail brak 获取当前安装app列表
ios 5 6 7 可以通过解析"/private/var/mobile/Library/Caches/com.app.mobile.installation.plist" 文件获 ...
- Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用
一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了,它的复杂度远远大于纯粹的应用开发.首先必须要考虑的就是集成第三方SDK,支付这块渠道商已经帮你我们做好了,只需要按照文档对 ...
- iPhone手机获取uuid 安装测试app
iPhone手机获取uuid 安装测试app UDID是一种iOS设备的特殊识别码.除序号之外,每台ios装置都另有一组独一无二的号码,我们就称之为识别码( Unique Device Identif ...
- c#获取已安装的所有NET版本
/// <summary> /// 获取已安装的所有NET版本 /// </summary> /// <returns></returns> publi ...
- iOS获取已安装的app列表(私有库)+ 通过包名打开应用
1.获取已安装的app列表 - (void)touss { Class lsawsc = objc_getClass("LSApplicationWorkspace"); NSOb ...
随机推荐
- STM32F407 开发环境搭建 程序下载 个人笔记
详细资料: http://www.openedv.com/thread-13912-1-1.html 需要安装的软件: 1.keil(MDK,必选),用keygen破解 2.CH340驱动,(usb串 ...
- openstack -> openinfra
https://www.openstack.org/assets/software/projectmap/openstack-map.pdf
- Android 网络连接状态的监控
有些应用需要连接网络,例如更新后台服务,刷新数据等,最通常的做法是定期联网,直接使用网上资源.缓存数据或执行一个下载任务来更新数据. 但是如果终端设备没有连接网络,或者网速较慢,就没必要执行这些任务. ...
- springboot整合mybatis连接mysql数据库出现SQLException异常
在springboot整合mybatis连接数据库的时候,项目中遇到一个SQLException,我检查了properties配置文件,看数据源有没有配错,检查有没有打错字,在数据库中把sql语句查询 ...
- 洛谷 P1018 乘积最大
P1018 乘积最大 题目描述 今年是国际数学联盟确定的“ 20002000 ――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰 9090 周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学 ...
- Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的 而在Spring中,基于Filter这种方式可以实现Bean预处理.后处理. 比如注入FilterRegistrationBean,然后 ...
- http转https
1.先用jdk生成证书 先跳转到jdk的bin目录下:E:\Program Files\Java\jdk1.8.0_91\bin>keytool -genkey -alias tomcat -k ...
- Ansible 2.0公布
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/02/ansible-2-released 经过了一年的开发工作后,Ansib ...
- chassis & power
机箱电源 ★ Main board ★ Voltage, connector ★ Hole ★ Ports ★ AT:12``*13.8`` or 12``*13`` 30.5cm*33cm ★ B ...
- CCNA参考链接
http://www.cisco.com/c/en/us/support/docs/lan-switching/vtp/10558-21.html http://www.cisco.com/c/en/ ...