Vsftpd服务器全面介绍

运维 系统运维
vsftpd 是“very secure FTP damon”的缩写,vsftpd的一个最大的特点是它的安全性。Vsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在linux,BSD,Solaris,HP-UNIX 等等系统上面。本文讲述的是vsftpd服务器的全面介绍

  vsftpd服务器

  vsftpd 是“very secure FTP damon”的缩写,安全性是它的一个***的特点。Vsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在诸如linux,BSD,Solaris,HP-UNIX 等系统上面,是一个完全免费的,开发源码的FTP服务器软件。支持很多其他的FTP服务器所不支持的特征。比如所不支持的特征。比如:非常高的安全性需求,带宽,良好的可伸缩性,可创建虚拟用户,支持IPv6 ,速率高等。

  一、vsftpd服务器每个配置文件及重要选项的作用

  1.相关配置文件/etc目录下的vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd

  2.配置vsftp

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

  1.   anonymous_enable=YES 是否允许匿名ftp,如否则选择NO  
  2.  
  3.   local_enable=YES 是否允许本地用户登录  
  4.  
  5.   local_umask=022 默认的umask码  
  6.  
  7.   anon_upload_enable=YES 是否允许匿名ftp用户访问  
  8.  
  9.   anon_upload_enable=YES 是否允许匿名上传文件  
  10.  
  11.   anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利  
  12.  
  13.   dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件  
  14.  
  15.   xferlog_enable=YES 是否记录ftp传输过程  
  16.  
  17.   connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)  
  18.  
  19.   chown_upload=YES 
  20.  
  21.   chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主  
  22.  
  23.   xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log  
  24.  
  25.   xferlog_std_format=YES 是否使用标准的ftp xferlog模式  
  26.  
  27.   idle_session_timeout=600 设置默认的断开不活跃session的时间  
  28.  
  29.   data_connection_timeout=120 设置数据传输超时时间  
  30.  
  31.   nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody  
  32.  
  33.   async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR.这里我  
  34.  
  35.   ascii_upload_enable=YES 
  36.  
  37.   ascii_download_enable=YES 是否使用ascii码方式上传和下载文件  
  38.  
  39.   ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信息  
  40.  
  41.   deny_email_enable=YES 
  42.  
  43.   banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名  
  44.  
  45.   chroot_list_enable=YES 
  46.  
  47.   chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表  
  48.  
  49.   max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止  
  50.  
  51.   message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message  
  52.  

  详细的帮助说明man vsftpd.conf查看。

  二、vsftpd服务器的配置过程以及每一步的作用

  1安装vsftpd

  源代码安装

  下载源代码

  wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.1.tar.gz

  解压 tar zxvf vsftpd-1.2.1.tar.gz

  进入源代码目录cd vsftpd-1.2.1

  编译 ./configure

  make

  创建用户,如果不存在 nobody用户,请创建 useradd nobody

  创建目录vsftpd 需要 /usr/share/empty 目录

  如果不存在,请创建:mkdir /usr/share/empty

  安装 make install

  复制配置文件到/etc目录cp vsftpd.conf

  2 /etc/etc/vsftpd.conf配置

  以下是我的配置文件.允许匿名FTP,允许上传,chroot用户目录,上传文件属主改为root1.3.2 /etc/etc/vsftpd.conf配置

  1.   anonymous_enable=YES 
  2.  
  3.   local_enable=YES 
  4.  
  5.   write_enable=YES 
  6.  
  7.   local_umask=022 
  8.  
  9.   anon_upload_enable=YES 
  10.  
  11.   anon_mkdir_write_enable=YES 
  12.  
  13.   dirmessage_enable=YES 
  14.  
  15.   xferlog_enable=YES 
  16.  
  17.   connect_from_port_20=YES 
  18.  
  19.   chown_uploads=YES 
  20.  
  21.   chown_username=root 
  22.  
  23.   xferlog_file=/var/log/vsftpd.log  
  24.  
  25.   xferlog_std_format=YES 
  26.  
  27.   pam_service_name=vsftpd 
  28.  
  29.   chroot_local_user=YES 
  30.  

  vsftpd和wu-ftpd不能同时起动,所以修改/etc/xinetd.d/wu-ftpd将disable设置为yes,然后修改/etc/vsftpd将disable设置为NO

  执行/etc/initd.d/xinetd restart

  3启动vsftpd

  (1)启动vsftpd服务: service vsftpd start

  (2)要求建立两个用户user01,user02,且两用户对应同一目录

  首先用vi 打开/etc/vsftpd/vsftpd.conf确定

  write_enable=yes

  (3)进入到/var/ftp下: cd /var/ftp

  建一个文件夹: mkdir aa

  进入到aa 下 : cd aa

  创建两个用户:useradd u1

  useradd u2

  并为他们设置密码: passwd u1

  passwd u2

  回到上一层目录:cd ..

  设置aa的所有者为u1: chown u1 aa

  设置aa的权限:chmod -R 755 aa

  重启vsftpd服务:service vsftpd restart

  (4)对某些IP 进行限制

  用vi 编辑 /etc/hosts.deny : vi /etc/hosts.deny

  若对202.196.201.153进行限制:vsftpd: 202.196.201.153

  保存并退出

  刷新服务:service vsftpd restart

  三、服务器完整的测试方案,测试服务器的可用性,可靠性

  1.在浏览器上访问vsftpd服务器

  本机的IP地址为:202.196.201.154

  在其他机子的浏览器上地址栏办输入:ftp://202.196.201.154

  若不能正常出现/var/ftp 文件夹内内容,需重新调试。

  2.在其它机器的浏览器上访问vsftpd服务器

  输入:ftp://202.196.201.154 检测是否连接

  在其他机器上,打开gFTP程序,在 应用程序|internet|gFTP

  首先用u1 登陆,输入格式如下:

  主机:202.196.201.154 端口:21 用户名:u1 密码:123456

  如果成功登陆:则可选中本地文件可进行上传,

  选中服务器文件进行下载

  再用u2登陆,输入格式如下:

  主机:202.196.201.154 端口:21 用户名:u2 密码:123456

  如果成功登陆:则可选中本地文件进行上传,将不成功

  选中服务器文件进行下载

  (1) 测试被限IP对服务器的访问

  在IP 为202.196.201.153机器的浏览器上输入:ftp://202.196.201.154

  则不能访问FTP服务器,如果还能访问,则需重新调试。

  四、vsftpd服务器运行过程中如何进行有效管理

  Vsftpd在运行过程中,可能会遇到很多问题,也会提出很多要求,这些都是要解决的。

  首先在配置好vsftpd服务器后,已经进行了测试,保证了基本的运行状态。这个时候,如果要增加新的要求,比如设置***链接数,如***链接数为100,每个IP,最多能支持5个链接,所以就要修改配置文件vsftpd.conf中增加两行:

  1. max_clients=100 
  2.  
  3. max_per_ip=5 
  4.  

  保存并退出后,再重启服务:service vsftpd restart 就解决了。又如需要限置下载速度,还是修改配置文件,与上面差不多,

  1.   anon_max_rate=数字  
  2.  
  3.   local_max_rate=数字 单位为字节 增加这两行就了 …….  
  4.  

  或者要对一IP限制,只要打开/etc/hosts.deny文件,增加

  1.   Vsftpd: 202.196.201.153  
  2.  

  保存并退出后,刷新服务就行了:service vsftpd restart

【编辑推荐】

责任编辑:zhaolei 来源: chinaunix
相关推荐

2009-06-11 10:54:25

GlassFish服务

2011-03-04 17:38:24

2011-02-23 15:32:39

vsftpd

2011-03-04 10:03:44

VSFTPD虚拟服务器

2011-03-02 10:57:27

vsFTPd

2011-03-01 14:00:16

vsFTPd功能

2009-12-17 10:08:03

日志服务器

2011-02-22 14:19:28

vsFTPd启动关闭

2010-08-25 16:28:04

2011-03-07 09:37:32

Vsftpd启动CentOS

2010-01-13 14:45:25

CentOS配置

2011-02-24 09:57:40

vsFTPd启动关闭

2019-01-30 14:42:00

Apache服务器web服务器

2010-09-02 15:09:56

DHCP服务器

2009-09-17 13:23:22

NIS服务器

2011-02-22 11:23:48

vsFTPDLinux服务器

2011-03-02 11:30:02

vsFTPd

2010-01-15 17:35:09

2011-02-22 11:23:48

vsFTPDLinux服务器

2011-01-13 15:57:20

FreeBSD 8.1vsftpd
点赞
收藏

51CTO技术栈公众号