Chinaunix首页 | 论坛 | 博客
  • 博客访问: 205001
  • 博文数量: 45
  • 博客积分: 2011
  • 博客等级: 大尉
  • 技术积分: 505
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-14 13:00
文章分类

全部博文(45)

文章存档

2010年(3)

2009年(39)

2008年(3)

我的朋友

分类: LINUX

2009-07-28 16:19:52


3.2 VSFTP—安全与效能兼备的ftp 服务器

3.2.1 VSFTP 概述

FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都没放入﹔第二,就是vsftp 从XINETD 中独立出来,并将设定档从/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。

为什么做这样的改变?可以想见的是vsftp 已有独立运作的能力,不需要XINETD 来做更进一步的管控,并且类似sendmail、httpd、ssh、samba 等,将设定文件的放入/etc 下独立的目录

FTP 分为两类,一种为PORT FTP,也就是一般的FTP﹔另一类是PASVFTP,分述如下:

PORT FTP

这 是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port 20 作数据的传输。

PASV FTP

跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。

这 两者的差异为何?PORT FTP 当中的数据传输port 是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。
===================================================

vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您能了解在Linux下配置一个网络服务的基本过程
  1.相关配置文件

  /etc目录下的vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd
 
  2.配置vsftp

  主要是修改/etc/vsftpd.conf就可以了,相关参数如下:

  anonymous_enable=YES 是否允许匿名ftp,如否则选择NO

  local_enable=YES 是否允许本地用户登录

  local_umask=022 默认的umask码

  anon_upload_enable=YES 是否允许匿名上传文件

  anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利

  dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件

  xferlog_enable=YES 是否记录ftp传输过程

  connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)

  chown_upload=YES
  chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主

  xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log

  xferlog_std_format=YES 是否使用标准的ftp xferlog模式

  idle_session_timeout=600 设置默认的断开不活跃session的时间

  data_connection_timeout=120 设置数据传输超时时间

  nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody

  async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR.这里我翻译的不爽,原文如下:
  When enabled, a special FTP command known as "async ABOR" will be enabled. Only ill advised FTP clients will use this feature.Addtionally, this feature is awkward to handle, so it is dis-abled by default. Unfortunately, some FTP clients will hang when cancelling a transfer unless this feature is available, so you may wish to enable it.

  ascii_upload_enable=YES
  ascii_download_enable=YES 是否使用ascii码方式上传和下载文件

  ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信息

  deny_email_enable=YES
  banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名

  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中 列出的是不chroot的用户的列表

  max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止

  message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message

  没发现有限止带宽的地方,如果谁知道请告诉我,详细的帮助说明请参考man vsftpd.conf
 
  3 配置实例

  以下是我的配置文件.允许匿名FTP,允许上传,chroot用户目录,上传文件属主改为root

  anonymous_enable=YES
  local_enable=YES
  write_enable=YES
  local_umask=022
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  dirmessage_enable=YES
  xferlog_enable=YES
  connect_from_port_20=YES
  chown_uploads=YES
  chown_username=root
  xferlog_file=/var/log/vsftpd.log
  xferlog_std_format=YES
  pam_service_name=vsftpd
  chroot_local_user=YES
 
  4 起动服务

  vsftpd和wu-ftpd不能同时起动,所以修改/etc/xinetd.d/wu-ftpd将disable设置为yes,然后修改/etc/vsftpd将disable设置为NO
  执行/etc/initd.d/xinetd restart
阅读(430) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~