频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

用wu-ftpd架设FTP服务器(1)

作者: 出处:天极网  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2005-12-05 19:35
关 键 词:服务器
阅读提示:当我们架设的网站需要提供下载功能时,除了使用http的方式连接外,也可以另外提供ftp服务供用户直接连线下载。事实上,ftp是个存在已久的服务,它的设计是用来传输两台电脑之间的数据,以避免太多的远端执行。如果要传送的文件比较大时,若以http的方式连线传输会占用一些网站的资源(例如可连线的人数),这时就要用到ftp了。
一、前言 
当我们架设的网站需要提供下载功能时,除了使用http的方式连接外,也可以另外提供ftp服务供用户直接连线下载。事实上,ftp是个存在已久的服务,它的设计是用来传输两台电脑之间的数据,以避免太多的远端执行。如果要传送的文件比较大时,若以http的方式连线传输会占用一些网站的资源(例如可连线的人数),这时就要用到ftp了。ftp是一个以TCP/IP为基础的应用程序,所以一般的ftp服务程序都会以内嵌于inetd的执行方式。 
ftp分为两个部分,一个是服务器端的程序,一个是用户端的。在Unix上的ftp服务程序非常多,不同的操作系统所内建的版本也都不一样,常见的有wu-ftpd、proftpd、Troll ftpd、ncftpd和Bero ftpd等等。其中最常用的最受欢迎的的是wu-ftpd,它是当初由华盛顿大学wuarchive.wustl.edu开发出来的,是一个以效率以及稳定性为考量的程序,它提供了原始码以及开放学术单位免费使用。 
二、安装与设定 
wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftp.wu-ftpd.org下载最新版本的源代码包。 
安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。 
wu-ftpd主要有以下6个配置文件: 
ftpaccess(主要配置文件,控制存取权限) 
ftpconvertions(配置文件压缩/解压缩转换) 
ftpgroups(设定ftp自己定义的群组) 
ftphosts(设定个别的用户权限) 
ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机) 
ftpusers(设定哪些帐号不能用ftp连线) 
下面我们来一一介绍。 
⒈/etc/ftpaccess(wu-ftpd的主要配置文件) 
class--定义群组,用法如下: 
class<种类><用户地址>[<用户地址>……] 
由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类, real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。 anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址 >是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子: 
class all real,guest,anonymous * 
定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了) 
class local real localhost loopback 
local这个class说,只有real的用户可以从本机机器连上来 
class remote guest,anonymous * 
remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算 
class rmtuser real !*.example.com 
rmtuser这个class包含了从外面来的(除了example.com)真实用户 
autogroup--自动对应群组,用法如下: 
autogroup[……] 
当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。 
deny--拒绝某些地址连线,用法如下: 
deny<拒绝连线的地址><信息文件> 
禁止某些机器连线,并显示<信息文件>。例如: 
deny 210.62.146.*:255.255.255.254 /etc/reject.msg 
guestgroup--设定访客群 
guestuser--设定访客帐号 
realgroup--设定真实群组 
realuser--设定真实帐号 
nice--设定给某些class多少优先权,用法如下: 
nice 
在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。 
defumask--设定某class的umask,用法如下: 
defumask[
umask是建立文件时该文件的的权限掩码 
tcpwindow--设定tcpwindow的大小 
keepalive--设定是否使用TCP SO_KEEPALIVE来控制断线情形 
timeout--设定连线超时,用法如下: 
timeout accept<秒> 
接受连线超时,预设120秒 
timeout connect<秒> 
连线建立超时,预设120秒 
timeout data<秒> 
数据传送超时,预设1200秒 
timeout idle<秒> 
用户发呆超时,预设900秒 
file-limit--限制某class只能传几个文件,用法如下: 
file-limit[][
对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如: 
file-limit out 20 lvfour 
限制lvfour这个class的用户最多只能下载20个文件 
byte-limit--限制某class只能传几个字节,用法跟file-limit相似 
limit-time--限制一个连线只能持续多久,用法如下: 
limit-time{*|anonymous|guest}<分钟> 
为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如: 
limit-time guest 5 
让guest帐号的用户只能用5分钟 
limit--限制某class能同时几人上线,用法如下: 
limit<连线数目><时间区段><额满信息文件> 
设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如: 
limit all 32 Any /home/ftp/etc/toomanyuser.msg 
限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息 
limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg 
限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线 
noretrieve--设定哪些文件不可下载 
noretrieve[absolute/relative][class=]…[-][<文件名>…] 
absolute或relative指文件是用绝对路径还是相对路径 
allow=retrieve--设定哪些文件可以下载 
allow[absolute/relative][class=]…[-][<文件名>…] 
loginfails--设置登入错误可尝试的次数 
当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。 
private--设定线上是否可以执行SITE GROUP/SITE GPASS 
当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。 
greeting--显示Server的版本信息,用法如下: 
greeting  
当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。 
barnner--设定未进入Login画面之前用户看到的信息,用法如下: 
banner<文件路径> 
这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。 
host--设定ftp主机名 
email--指定ftp管理者的email地址 
message--信息文件的设定,用法如下: 
message<文件>{<何时>{……}} 
这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择: 
login(登入时) 
cwd=<目录>(进入某目录时) 
class 名称是前面已经定义过的,允许你的信息只对哪些人发出。 
而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号: 
%T(本机时间) 
%F(目前分区所剩余的空间) 
%C(目前所在的目录) 
%E(管理者的E-mail) 
%R(客户端主机名称) 
%L(本机主机名称) 
%U(用户名称) 
%M(与我相同class用户允许多少人连线) 
%N(与我相同class用户目前有多少人连线) 
%B(绝对磁盘限制大小,目前分区(单位blocks)) 
%b(preferred磁盘限制大小,目前分区(单位blocks)) 
%Q(目前已使用的blocks) 
%I(最大可使用的inodes(+1)) 
%i(Preferred inodes限制) 
%q(目前使用的indoes) 
%H(超量使用磁盘空间的时间限制) 
%h(超量使用文件数目的时间限制) 
readme--通知用户哪些README文件已经更新 
log commands--记录用户所使用过的命令,用法如下: 
log commands<用户种类> 
log transfers--记录用户所传输的文件,用法如下: 
log transfers<用户种类><传输方向> 
设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如: 
log transfers anonymous,guest inbound,outbound 
log security--记录安全性,用法如下: 
log security<用户种类> 
特别用于记录某类用户关于noretrive、notar等有关安全性的记录 
log syslog--记录到系统的syslog文件 
alias--设定目录别名,用法如下: 
alias<别名字符串><目录> 
cdpath--设定cd更换目录搜索顺序 
compress,tar--设定是否自动压缩,用法如下: 
compress[……] 
tar[……] 

共2页: 1 [2] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·IIS 专题频道 (查看19810次)
·中间件应用技术专题 (查看16166次)
·FTP协议应用专题 (查看16093次)
·140个电脑小知识、小技巧 (查看14425次)
·Apache技术专题 (查看12971次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有