我要投稿
  • 您当前的位置:57365.com -> 技术教程 -> 服务器网络 -> 服务器教程 -> FTP服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • VSFTPD手册FTP服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:FTP服务器教程    收藏本页
                  摘要:VSFTPD手册

    VSFTPD手册

    VSFTPD手册

      施文建

    0 关于本文档
    1 VSFTPD简述
    2 VSFTPD的安装
    2.1 RHL9+vsftpd-1.1.3-8.i386.rpm包的安装
    2.2 vsftpd-1.2.0.tar.gz的安装
    3 VSFTPD的文件结构
    4 VSFTPD的启动与停止
    5 VSFTPD的设置选项
    5.1 连接选项
    5.1.1 监听地址与控制端口
    5.1.2 FTP模式与数据端口
    5.1.3 ASCII模式
    5.2 性能与负载控制
    5.2.1 超时选项
    5.2.2 负载控制
    5.3 用户选项
      5.3.1 匿名用户
       5.3.2 本地用户
    5.3.3 虚拟用户
    5.4 安全措施
    5.4.1 用户登录控制
    5.4.2 目录访问控制
    5.4.3 文件好作控制
    5.4.4 新增文件权限设定
    5.5 提示信息
    5.6 好志设置
    5.7 其他设置
    6 VSFTPD应用
    6.1 允许匿名用户上传文件
    6.2 限制用户在自家目录
    6.3 配置高安全级别的匿名FTP服务器
    6.4 基于IP地址的虚拟FTP服务器
    6.5 虚拟用户的配置
    6.5.1 VSFTPD的虚拟用户介绍
    6.5.2 用户创建和目录设置
    6.5.3 配置文件的设置
    6.5.3.1 基本设置
    6.5.3.2 权限设置
    6.5.3.3 虚拟用户的其他配置
    6.5.3.4 虚拟用户个人目录设置
    6.5.4 MySQL保存虚拟用户

    -------------------------------------------

    0、关于本文档

      本文档是个人的学习整理。允许大家翻阅,摘抄,引用。更欢迎指出其中不对之处。文档的内容主要来自VSFTPD自身文档、个人学习心得以及网络资料,若有类同,实属正常,∶)。

      本文档基于RedHat Linux 9和VSFTPD-1.1.3-8。如果有不同版本,则有专门文字说明。

    1、VSFTPD简述

      如果试问哪种FTP服务器最安全?那么在UNIX和Linux中,首推的就是VSFTP(Very Secure FTP Daemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。象RedHat、SUSE、Debian、GNU、GNOME、KDE等一些大型站点都采用VSFTPD作为它们的FTP服务器。大家可以到http://vsftpd.beasts.org/了解它的最新情况。

    2、VSFTPD的安装

    2.1、RHL9+vsftpd-.1.1.3-8.i386.rpm包的安装

      VSFTPD的安装很简单。在RHL9中,在图形界面下依次执行“Main Menu”-“System Settings”-“Add/Remove Applications”-选择FTP服务器-“更新”,或者在字符界面中执行以下命令,就可以完成安装。
      rpm -ivh vsftpd-1.1.3-8.i386.rpm

    2.2、vsftpd-1.2.0.tar.gz的安装

      ⑴准备条件

      VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。
      [root@hpe45 root]# useradd nobody
      useradd: user nobody exists

      VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。
      [root@hpe45 root]# mkdir /usr/share/empty/
      mkdir: cannot create directory '/usr/share/empty': File exists

      VSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。
      [root@hpe45 root]# mkdir /var/ftp/
      [root@hpe45 root]# useradd -d /var/ftp ftp
      接下来的好作对于ftp用户是否已经存在都是有用的。
      [root@hpe45 root]# chown root.root /var/ftp
      [root@hpe45 root]# chmod og-w /var/ftp

      ⑵编译VSFTPD

      从官方站点下载到/root目录,执行以下命令:
      [root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
      [root@hpe45 root]# cd vsftpd-1.2.0
      [root@hpe45 vsftpd-1.2.0]# make

      ⑶安装编译好的VSFTPD

      执行“make install”将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制:
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
      此外,“make install”没有复制简单的配置文件,建议执行以下命令:
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc

      ⑷为本地用户设置PAM

      如果允许本地用户登录VSFTPD,执行以下好作:
      [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp

    3、VSFTPD的文件结构

      VSFTPD的文件结构是很简洁的,主要包括:
      /usr/sbin/vsftpd ---- VSFTPD的主程序
      /etc/rc.d/init.d/vsftpd ---- 启动脚本
      /etc/vsftpd/vsftpd.conf ---- 主配置文件
      /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。

    4、VSFTPD的启动与停止

      VSFTPD可以单独(Standalone)方式运行,如同httpd、named这类的服务器的运行方式,这是RHL9中默认的方式;也可以采用xinetd方式运行,这是RHL7.x、8中的默认方式。具体的运行方式由参数listen决定。从RHL中VSFTPD的运行方式,也可以看出VSFTPD的逐步发展。

      当listen参数值为YES时,RHL9中的默认值,VSFTPD单独运行,我们可以使用脚本/etc/rc.d/init.d/vsftpd来启动、关闭以及重启VSFTPD。命令如下:
      /etc/rc.d/init.d/vsftpd start|stop|restart

      如果说在RHL9上,您还希望使用Xinetd启动VSFTPD的运行方式,那么首先要将vsftpd.conf配置文件中的listen参数值改为NO。其次,生成一个/etc/xinetd.d/vsftpd文件,内容如下:
      service vsftpd
      {
      disable = no
      socket_type = stream
      wait = no
      user = root
      server = /usr/sbin/vsftpd
      port = 21
      log_on_success += PID HOST DURATION
      log_on_failure += HOST
      }
      通过修改disable值为no或yes,并重新启动xinetd,从而启动或停止VSFTPD。

      由于VSFTPD的单独模式已经拥有足够的能力,所以后面6中讨论到的应用,都是以单独模式来运行的,而非Xinetd方式。

      注:还可以直接执行vsftpd来启动FTP服务,关闭时使用“kill”命令。
      [root@hpe45 root]# /usr/local/sbin/vsftpd &

    5、VSFTPD的设置选项

      VSFTPD的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。以“#”字符开始的行是注释行。每个选项设置为一行,格式为“option=value”,注意“=”号两边不能留空白符。除了这个主配置文件外,还可以给特定用户设定个人配置文件,具体介绍见后。
      VSFTPD包中所带的vsftpd.conf文件配置比较简单,而且非常偏执狂的(文档自称)。我们可以根据实际情况对其进行一些设置,以使得VSFTPD更加可用。

    5.1、连接选项

      本部分主要是一些与建立FTP链接相关的选项。

    5.1.1、监听地址与控制端口

      listen_address=ip address
      此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了在主机的哪个IP地址上监听FTP请求,即在哪个IP地址上提供FTP服务。对于只有一个IP地址的主机,不需要使用此参数。对于多址主机,不设置此参数,则监听所有IP地址。默认值为无。

      listen_port=port_value
      指定FTP服务器监听的端口号(控制端口),默认值为21。此选项在standalone模式下生效。

    5.1.2、FTP模式与数据端口

      FTP 分为两类,PORT FTP和PASV FTP,PORT FTP是一般形式的FTP。这两种FTP在建立控制连接时好作是一样的,都是由客户端首先和FTP服务器的控制端口(默认值为21)建立控制链接,并通过此链接进行传输好作指令。它们的区别在于使用数据传输端口(ftp-data)的方式。PORT FTP由FTP服务器指定数据传输所使用的端口,默认值为20。PASV FTP由FTP客户端决定数据传输的端口。PASV FTP这种做法,主要是考虑到存在防火墙的环境下,由客户端与服务器进行沟通(客户端向服务器发出数据传输请求中包含了数据传输端口),决定两者之间的数据传输端口更为方便一些。

      port_enable=YES|NO
      如果你要在数据连接时取消PORT模式时,设此选项为NO。默认值为YES。

      connetc_from_port_20=YES|NO
      控制以PORT模式进行数据传输时是否使用20端口(ftp-data)。YES使用,NO不使用。默认值为NO,但RHL自带的vsftpd.conf文件中此参数设为YES。

      ftp_data_port=port number
      设定ftp数据传输端

    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.hxswjs.com All Rights Reserved.57365.com 版权所有