一、vsftpd 简介
   
Vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件。其全称是Very Secure FTP
Deamon,在安全性、速度和稳定性都有着不俗的表现。在安全性方面,vsftpd针对程序的权限来设计,以一般身份启动服务,对Linux系统的使用
权限较低;在千兆以太网上,vsftpd的速度可以达到86MB/s;在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发
连接为1500用户,峰值达4000用户,而这些还是在单机上实现的。此外,vsftpd 还包括以下特性:
    基于IP的虚拟服务器
   
虚拟用户,结合数据库的用户验证
    每个用户独立配置文件
    速率限制
    IPV6支持
    支持SSL加密传输

    ……
哪些站点在使用vsftpd
    以下站点一直在使用vsftpd(这仅仅是很少很少的一部分站点)
   

ftp.redhat.com
   
ftp.suse.com
   
ftp.debian.org
   

ftp.openbsd.org
   
ftp.freebsd.org
   
ftp.gnu.org
   

ftp.gnome.org
   
ftp.kde.org
   
ftp.kernel.org
   
rpmfind.net
   
ftp.linux.org.uk
   
ftp.gimp.org
   
ftp-stud.fht-esslingen.de
    gd.tuwien.ac.at
   
ftp.sunet.se

   
ftp.ximian.com
   
ftp.engardelinux.org
   

ftp.sunsite.org.uk
   
ftp.isc.org
    以上内容摘自vsftpd官方网站

http://vsftpd.beasts.org/
二、软件安装和卸载

//查看是否安装了vsftpd和anonftp

[root@redhat local]# rpm -qa|grep vsftpd
[root@redhat local]# rpm
-qa|grep anonftp

获得软件
    vsftpd目前最新版本为vsftpd-2.3.2,下载地址:

ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.2.tar.gz
软件安装
  1.
解压软件,
    [root@redhat local]# tar -zxvf vsftpd-2.3.2.tar.gz    //解压vsftp
source文件
    [root@redhat local]# cd vsftpd-2.3.2    //进入解压后的目录

[root@redhat vsftpd-2.3.2]# more INSTALL //看看安装说明。比如要做什么工作。是个英文文档.

2.
提供安装vsftpd服务的前提条件(根据上面more INSTALL的安装说明)

[root@redhat vsftpd-2.3.2]#
useradd nobody //这里需要加一个nobody用户。大家可以使用finger nobody查看下。看是否有这个用户,如果有就不需要加了.

useradd: user nobody exists

[root@redhat
vsftpd-2.3.2]# mkdir /usr/share/empty/    //这一步同上。服务器
需要一个empty的空目录放在/usr/share/下。可以使用ls /usr/share/empty查看。如果存在就不需要了,这步也可以跳过。

mkdir: 无法创建目录 `/usr/share/empty': 文件已存在

如果需要开启匿名用户访问,需要做下面几步工作
    [root@redhat vsftpd-2.3.2]# mkdir /var/ftp/   
//创建供匿名用户使用的目录
 [root@redhat vsftpd-2.3.2]# useradd -d /var/ftp ftp
//创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:user ftp exists(FTP用户存在)就表示此用户已经存在。

(即使"ftp"用户已经存在,接下来的两步也是很有用).

[root@localhost
vsftpd-2.3.2]# chown root.root /var/ftp    
//设置/var/ftp,也就是ftp用户的家目录属组和属主都是root,为了安全。这步还是需要的

[root@localhost
vsftpd-2.3.2]# chmod og-w /var/ftp     //更改权限,去掉属组和其他人的写权限 ,上面这写工作做完了。

3. 编译源代码及安装

[root@redhat vsftpd-2.3.2]# make    //编译二进制文件
   
[root@redhat vsftpd-2.3.2]# make install    //安装,安装的时候可以看到安装的相关文件。

4.
安装、编辑配置

[root@redhat vsftpd-2.3.2]# cp vsftpd.conf /etc/   
//将默认配置文件考贝到/etc/               
    [root@redhat vsftpd-2.3.2]# cp
RedHat/vsftpd.pam /etc/pam.d/vsftpd    
//为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。

[root@redhat
vsftpd-2.3.2]# vi /etc/vsftpd.conf
  然后按,跳到行尾。设置
pam_server_name=vsftpd(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出

[root@redhat vsftpd-2.3.2]# cp vsftpd.conf.5 /usr/local/man/man5

 [root@redhat vsftpd-2.3.2]# cp vsftpd.8 /usr/local/man/man8

  基本到这里。所有工作就做完了。

软件卸载
    如果需要卸载,使用如下命令:

    # rm /usr/local/sbin/vsftpd
    # rm
/usr/local/man/man5/vsftpd.conf.5
    # rm /usr/local/man/man8/vsftpd.8

    # rm /etc/xinetd.d/vsftpd
    # rm -rf /etc/vsftpd
三、配置vsftpd服务

服务的启动与停止
    启动服务之前,我们先编辑配置文件/etc/vsftpd.conf.
打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。vsftpd.conf文件的所有项目都是以“参数=值
”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。每个参数都有一个默认值,没有在配置文件中明确指定
的参数就会使用默认值。我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入 到文件中:

    listen=yes                        //vsftpd工作在standalone 模式下
   
anonymous_enable=yes                //允许匿名用户登陆服务器
   
local_enable=yes                    //允许本地用户登录到服务器
   
pam_service_name=vsftpd            //使用PAM认证

vsftpd有两种工作模式,standalone模式和xinetd守护进程模式,第1行就是让其工作在standalone模式下。此种模式中,每次
修改配置文件必须重新启动vsftpd服务才能生效,关于两种模式在后面有详细介绍。我们安装时还把 Redhat 目录下的 vsftpd.pam
文件复制成了/etc/pam.d/vsftpd 文件。这个文件就是本地用户登陆的 pam
验证配置文件。关于这个文件我们会在后面具体介绍。这里我们要知道,必须得有这个配置文件,而且主配置文件里要加上
pam_service_name=vsftpd语句,我们才能让本地用户登陆。用以下命令启动服务:
    [root@redhat
vsftpd-2.3.2]# /usr/local/sbin/vsftpd &    //后台启动vsftp

我们可以通过pgrep
vsftpd 来查看vsftpd服务器是否运行起来;

[root@redhat vsftpd-2.3.2]# pgrep vsftpd

     4248
上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;

为保证服务确实启动,我们用如下命令检测:
    [root@redhat vsftpd-2.3.2]# netstat -an
|grep 21
    tcp        0      0 0.0.0.0:21                 
0.0.0.0:*                   LISTEN
   
我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。再登录服务器:
    [root@redhat vsftpd-2.3.2]# ftp
127.0.0.1
    Connected to 127.0.0.1.
    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
(127.0.0.1:root): ftp
    331 Please specify the password.
    Password:

    230 Login successful.
   
这时我们已经用匿名用户(用户名ftp或anonymous,密码任意)登录到服务器了,还可以用本地用户登录。我们做测试时建议使用如上所示的ftp命
令(windows、Linux及Unix都带这个命令,用法都是一样的)来登录服务器,这样可以看到更详细的信息,对于我们调试服务器是非常有帮助的。
最简单的ftp服务器就已经达建起来了。

使用如下命令关闭ftp服务:
    [root@redhat vsftpd-2.3.2]#
killall vsftpd    //或是 pkill vsftpd

[root@redhat vsftpd-2.3.2]#
pgrep vsftpd   //查看vsftpd服务器是否已经关闭

四、 开机自启动
           
用vi打开etc/rc.local在里面加入/usr/local/bin/vsftpd & 即可。 

vsftpd2.3.2安装、配置详解的更多相关文章

  1. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...

  2. Cloudera CDH 、Impala本地通过Parcel安装配置详解及什么是Parcel

    本文引用自:Cloudera CDH .Impala本地通过Parcel安装配置详解及什么是Parcelhttp://www.aboutyun.com/forum.php?mod=viewthread ...

  3. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  4. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  5. JDK10安装配置详解

    JDK10安装配置详解 1. 下载jdk10 1.1 官网下载jdk7的软件包:        地址:http://www.oracle.com/technetwork/java/javase/dow ...

  6. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  7. (转)使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 原文:https://www.cnblogs.com/liwei0526vip/p/6370103.html

  8. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  9. 使用LVS实现负载均衡原理及安装配置详解

    负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学 ...

  10. Hadoop2.2.0分布式安装配置详解[2/3]

    前言 本文主要通过对hadoop2.2.0集群配置的过程加以梳理,所有的步骤都是通过自己实际测试.文档的结构也是根据自己的实际情况而定,同时也会加入自己在实际过程遇到的问题.搭建环境过程不重要,重要点 ...

随机推荐

  1. angularJS seed 安装

    安装nodejs 安装python 配置python 环境 安装git 配置git 环境 clone angularJS seed 代码. 环境变量如下: C:\Program Files\nodej ...

  2. ruby 学习 -- string --1

    # define french_string = "il \xc3\xa9tait une fois" long_string = <<EOF Here is a lo ...

  3. QTreeWidget的一个例子,C++语法和item迭代循环都比较巧妙

    学习一下,据说QTreeWidget简单好用,不需要单独设置Model和View,更没有delegate.Signal和Slot应该可以正常使用(未验证,以后补充). #include <QtG ...

  4. Struts2笔记——通配符和动态方法调用

     通配符映射 * 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 * 通配符映射规则     > 若 ...

  5. centos 安装jdk

    不要使用yum 安装openjdk,他妈的就是一坑货 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk7-d ...

  6. 解决javascript加减乘除及toFixed的误差问题

    //用于替换原有的toFixed,解决精度误差问题 Number.prototype.myToFixed=function(s){ if(s == null){s = 0;} var value = ...

  7. 【转】Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例

    原文地址:http://www.cnblogs.com/luankun0214/p/4421770.html 感谢网友的分享,记录下来只为学习. 1.重写equals方法实例   部分代码参考http ...

  8. 《c程序设计语言》读书笔记-字符型0-9转为数字0-9

    #include <stdio.h> #define Num 10 int atoi(char s[]); int main() { int c,i = 0; char s[Num]; i ...

  9. Idea 使用maven+tomcat的时候,编译指定的Profile

    To build a artifact with a profile you have to create a Maven Run/Debug configuration as in the foll ...

  10. itnesse实现api接口自动化测试学习

    上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记得我最早接触接口测试的时候,就是只在浏览器里人工测试 ...