Linux下FTP服务器的安装和配置

Author: 高山 Date: 2001年 5期

?牐牨嗾甙矗涸谝郧暗奈恼轮校颐墙樯芰薒inux下万维网(WWW)服务器的安装和配置。下面,我们接着为大家介绍Linux下FTP服务器的安装和配置。
  ?牐燜TP(File Transfer Protocol)也是Internet上被广为应用的一种服务,它主要被用来完成文件上传与下载的工作。Linux下常见的免费FTP服务器也有许多种,目前最常见的是wu-ftp(Washington University FTP Server)。本文就以它为例来说明FTP服务器的安装和配置。由于FTP服务器的安装比较简单,本文的重点将放在FTP服务器的配置上。
  #1    1.安装
  ?牐犜诎沧癓inux系统的时候(如 RedHat Linux、Turbo Linux、蓝点Linux、红旗Linux等),选择安装FTP Daemon,然后安装程序就会自动为你安装好FTP服务器。如果高级用户或者Linux发烧友想自己编译并安装wu-ftp服务器的话,可以到各大Linux站点去下载软件包wu-ftpd-2xxx.tar.gz然后自己试着编译并安装一下,这里就不详细叙述了。
  ?牐犜诎沧巴瓿芍螅搜橹?wu-ftp服务器是否在工作,最简便的方法就是使用以下命令:
  ?牐燵root@redhatlinux /]# ftp localhost
  ?牐燙onnected to localhost.
  ?牐?220 redhatlinux.myserver FTP server Version wu-2.4.2-academ[BETA-18](1)??
  ?牐燤on Aug 3 19:17:20 EDT 1998)ready.
  ?牐燦ame(localhost:root):mike
  ?牐?331 Password required for mike.
  ?牐燩assword:
  ?牐?230 User mike logged in.
  ?牐燫emote system type is UNIX.
  ?牐燯sing binary mode to transfer files.
  ?牐爁tp>bye
  ?牐?221 Goodbye.
  ?牐犠⒁猓耗锨榭鱿拢瑀oot用户是不被允许从FTP登录的。所以在试验之前,先要建一个普通用户,或者使用匿名用户(anonymous)登录。如果显示一切正常的话,wuftp服务器就已经被正确安装了。
  #1    2.配置
  ?牐犕珹pache WWW 服务器一样,有几个文件控制着wu-ftp服务器的工作。它们是:ftpaccess、ftpconversions、ftpgroups、ftphosts和ftpusers 。在Redhat Linux下,这几个文件都放在/etc/下,不同的FTP服务器有可能把它们放在不同的目录下,用户可以用find命令找到它们。
  ?牐?2.1配置ftpaccess
  ?牐犓莣u-ftp服务器的主要配置文件。下面是一个典型的ftpaccess文件的内容,在#后面,给出了语法说明和简要的解释。
  ?牐燾lass  all real,guest,anonymous * 
  ?牐?# 语法:class <class> <typelist> <addrglob>[<addrglob>...]
  ?牐牰ㄒ逵没Ю啾穑核ㄒ宕痈?<addrglob>地址来,用<typelist>登录的用户为<class>类。<typelist>为用户类型,可以为real(真实用户),guest(属于客人组的真实用户,用guestgroup定义),anonymous(匿名FTP用户)。上面的例子,就定义了从任意节点(*)来,用真实用户身份、guest身份以及用匿名身份登录的用户都为all这个类的用户。将用户定义为多个类,可以在下面的指令中对其分别设置不同的权限。
  ?牐爀mail root@localhost
  ?牐?# 语法:email email-address
  ?牐燜TP服务器管理员的电子邮件地址。
  ?牐爈oginfails 5
  ?牐?# 语法:loginfails number
  ?牐犐柚迷谟没г趎umber次登录错误之后,显示“Repeated login failures”信息并断开连接。这在一定程度上增加了别人猜测用户密码的难度。
  ?牐爈imit all 100 SaSu|Any1800-0600/etc/msgs/ftp.toomany
  ?牐爈imit all 60 Any /etc/msgs/ftp.toomany
  ?牐?# 语法:limit <class> number <time> message-file
  ?牐犗拗聘骼嘤没г谀呈奔涠蔚锹嫉氖俊H绻拗疲痪芫锹嫉挠没?显示message-file指定的文件内容。上面的指令限制all类的用户在周六周日的18:00到06:00不能超过100人,平时不能超过60人。
  ?牐爎eadme  README*  login
  ?牐爎eadme  README*  cwd=*
  ?牐?# 语法:readme readmefile condition
  ?牐犐柚玫庇没У锹蓟蛘叩谝淮谓肽掣瞿柯际毕低程崾居没г亩恋奈募?
  ?牐爉essage /welcome.msg   login
  ?牐爉essage .message   cwd=*
  ?牐?# 语法:message messagefile condition
  ?牐犐柚玫庇没У锹蓟蛘叩谝淮谓肽掣瞿柯际毕低掣龅奶崾拘畔ⅰ?
  ?牐燾ompress  yes    all
  ?牐爐ar    yes     all
  ?牐燾hmod no guest,anonymous
  ?牐燿elete no guest,anonymous
  ?牐爋verwrite no guest,anonymous
  ?牐爎ename no guest,anonymous
  ?牐?# 设置某一类的用户是否支持用这些系统功能。
  ?牐爈og commands real
  ?牐?# 语法:log commands <typelist>
  ?牐牸锹?<typelist>用户使用的命令。
  ?牐爈og transfers anonymous,real inbound,outbound
  ?牐?# 语法:log transfers <typelist> <directions>
  ?牐牸锹?<typelist>用户在<directions>方向上的文件传输。<directions>可以为inbound(上传)和outbound(下载)。
  ?牐爏hutdown /etc/shutmsg
  ?牐?# 语法:shutdown filename
  ?牐犎绻鹒ilename指定的文件存在,服务器将定期检查它以确定服务器是否预定关闭。这个文件的格式为:
  ?牐?<year> <month> <day> <hour> <minute> <deny_offset> <disc_offset>
  ?牐?<text>
  ?牐犉渲?<deny_offset>和<disc_offset>的意思是在服务器关闭之前多长时间将拒绝新的连接和中断现存的连接。<text>是给被拒绝连接的用户的一段信息。
  ?牐爌asswd-check rfc822 warn
  ?牐?# 语法:passwd-check check-method solve-method
  ?牐犐柚每诹罴煅榉绞健?check-method可以为
  ?牐爊one:不进行口令检查。
  ?牐爐rivial:口令中必须含有“@”符号。
  ?牐爎fc822:口令必须满足rfc822规定。
  ?牐爏olve-method可以为
  ?牐爓arn:只警告用户,但允许登录。
  ?牐爀nforce:警告用户并且断开连接。
  ?牐爂uestgroup ftponly
  ?牐?#语法:guestgroup group
  ?牐牰ㄒ迥母鲎榈恼媸涤没?属于guest组。
  ?牐?2.2配置ftpconversions
  ?牐犝飧鑫募ㄒ逦募摹胺尚小弊还嬖颉K健胺尚小弊皇侵肝募蚰柯荚冢ㄊ褂肦ETRIEVE命令)传递过程中进行压缩(解压缩)和打包。
  ?牐?/etc/ftpconversions的内容如下:
  ?牐牔?:.Z:::/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
  ?牐牔?:::.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
  ?牐牔?:.gz:::/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
  ?牐牔?:::.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
  ?牐牔?:::.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
  ?牐牔?:::.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
  ?牐牔?:::.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
  ?牐犚陨系闹噶畹囊馑伎梢越馐腿缦卤恚?
  ?牐牎胺尚小弊坏闹饕饔檬茄顾醮莸氖萘浚跎俅菔奔洌涣硗猓梢越桓瞿柯枷碌乃形募虬笠淮未矗挥梅咽碌匾灰淮洹?
  ?牐?2.3配置ftpusers
  ?牐犝飧鑫募饕怯糜诳刂颇男┯没Р豢梢缘锹急綟TP服务器。下面是一个典型的ftpusers文件。
  ?牐爎oot
  ?牐燽in
  ?牐燿aemon
  ?牐燼dm
  ?牐爈p
  ?牐爏ync
  ?牐爏hutdown
  ?牐爃alt
  ?牐爉ail
  ?牐爊ews
  ?牐爑ucp
  ?牐爋perator
  ?牐爂ames
  ?牐爊obody
  ?牐犎绻桓霰镜赜没П话诖宋募校豢梢缘锹急綟TP服务器。我们应当将root及其他系统账号加入本文件,这样可以提高系统的安全性。
  ?牐?2.4配置ftpgroups
  ?牐犝飧鑫募⒉皇怯糜诙ㄒ迥男┯没ё椴豢梢缘锹急綟TP服务器,它只有在使用Site Group功能时才起作用,请参考wu-ftpd的有关文档,一般不必使用它。
  ?牐?2.5配置ftphosts
  ?牐犝飧鑫募柚迷市砘蚓芫承┨囟ǖ慕诘阋蕴囟ǖ挠没?名登录。如下面的例子:
  ?牐燼llow ftp 61.128.193.48
  ?牐燿eny ftp 61.128.193.*
  ?牐牻芫?61.128.193子网除61.128.193.48以外的所有节点的匿名登录。
  ?牐犠⒁猓喝绻厦媪叫械构葱矗琣llow一行将不起作用。又如:
  ?牐燼llow ftp*.cpcw.com*.yesky.com
  ?牐燿eny ftp*
  ?牐牻芫齝pcw.com和yesky.com以外的所有节点的匿名登录。(^05020401a^)
  ?牐牴赜贚inux下wu-ftpd的介绍,就到此为止了。希望大家以后在应用的时候多开动脑筋,活学活用。大家有问题欢迎来信讨论,我的E-Mail是cold.fire@263.net。