电脑技术学习

Linux命令Man解释:ftpaccess(5) :ftpd 的配置文件

dn001
名称
ftpaccess;-;ftpd;的配置档

描述
这个;ftpaccess;档案是用来配置下述功能的运作

存取功能(Access;Capabilities)
autogroup;<群组名称>;<类别>;[<类别>;...]
如果一个匿名的(ANONYMOUS);使用者是任何;<类别>;的成员,
那麽;ftp;;伺服器将会实行一次;setegid();到该;<群组名称>
。这允许特殊类别的匿名使用者存取;group-and-owner-read-
only;的档案以及目录。<群组名称>;是;/etc/group;里的一个
有效群组(或是你的;getgrent();呼叫所查阅的地方)。

class;<类别>;<类型列表>;<全球位址>;[<全球位址>;...]
定义使用者的;<类别>;,使用;<全球位址>;格式的来源位址。
可以定义;<类别>;多个成员。可以有多个;"class";;指令列出
该类别额外的成员。如果多个;"calss";;指令可以应用到该次
的连线期间,会使用在;access;档案中第一个列出的。尝试为
一台主机定义一个有效的类别失败的话将会引起存取被拒绝。
<类型列表>;是一个以任何;"anonymous",;"guest";及;"real"
关键字所组成使用逗点隔开的列表。如果包含;"real";关键字
,该类别可以符合使用;FTP;;存取真实的帐号的使用者,而如
果包含;"anonymous";关键字该类别可以符合使用匿名;FTP;的
使用者。而;"guest";关键字符合访客存取帐号(参阅;"guest
group";;以取得更多资讯)

<全球位址>;;可以是一个全球的领域名称或是一个全球的数字
位址。

deny;<全球位址>;<讯息档案>
永远拒绝符合;<全球位址>;主机的存取。显示;<讯息档案>;。
<全球位址>;可以是;"!nameserved";用来拒绝没有名称伺服器
服务中的节点的存取。

guestgroup;<群组名称>;[<群组名称>;...]
如果一个真实的(REAL)使用者是任何;<群组名称>;的成员,该
次连线期间的设立完全如同匿名的;FTP;;一般。换句话说,会
执行一次;chroot();,而且该使用者不再被允许发出;USER;及
PASS;指令。<群组名称>;是;/etc/group;里的一个有效群组(
或是你的;getgrent();呼叫所查阅的地方)。

该使用者的;home;目录必须适当地加以设定,跟匿名;FTP;;所
要做的完全一样。在;passwd;项目里的;home;目录栏位被分成
两个目录。第一个栏位将是;chroot();呼叫的根目录参数。第
二个部份是相对於该根目录的使用者;home;目录。这两半是以
"/./";分隔开的。

范例:

在;/etc/passwd;里,该真实的项目:

guest1::100:92:Guest
Account:/ftp/./incoming:/etc/ftponly

当;guest1;成功地签入的时候,此;ftp;;伺服器将会执行一次
chroot("/ftp");然後接著;chdir("/incoming");。该;;guest
使用者将只能够存取;/ftp;下的目录结构(此目录对;;guest1
而言看起来跟用起来就像是;/;目录),就如同一个匿名;;FTP
使用者所见到的。

limit;<类别>;<时间>;<讯息档案>
在某;<时间>;将某;<类别>;限制为;个使用者,若使用者
的存取被拒绝则显示;<讯息档案>;内容。限制的检查只在签入
时期实行。如果多个;"limit";;指令可以应用到该次连线期间
的话,会使用第一个适合的。尝试定义一个有效的限制失败,
或是值为;-1;的限制,等於不设限。<时间>;使用;UUCP;L.sys
档案相同的格式。

loginfails;<数字>
在;<数字>;签入失败後,记录一个″重复签入失败;(repeated
login;failures)讯息″并且终止该;FTP;连线。预设值是;5。

private;
使用者签入之後,SITE;GROUP;及;SITE;GPASS;;指令可以用来
指定一增强存取的群组以及与之有关的密码。如果该群组名称
以及密码是有效的,该使用者变成(经由;setegid())一个在
群组存取档案;/etc/ftpgroups;中所指定群组的成员。

该群组存取档案的格式是:

存取群组名称:经编码的密码:真实群组名称

其中的存取群组是一个随意的(文数字+标点)字串。经编码
的密码是经由;crypt(3);编码过的密码,与;/etc/passwd;;里
的完全一样。真实群组名称是;/etc/group;里所列出有效群组
其中的一个名称。

注意:要使这个选项能运作於匿名的;FTP;使用者,该;FTP;伺
服器必须保持使;/etc/group;永久开启而且将群组存取档案载
入记忆体。这意指;(1);该;ftp;伺服器现在使一个额外的档案
描述子(file;descriptor);开启,以及;(2);经由;SITE;GROUP
使用者必须的密码以及存取权利的承认在一次;FTP;;连线期间
以内将会是静态的。如果你有紧急的需求要*现在*改变存取
群组以及/或是密码,那麽你只要砍掉(kill)所有正在执行中
的;FTP;;伺服器。

资讯功能(Informational;Capabilities)
banner;<路径>
作用与;message;;指令类似,除了此;banner;是在使用者键入
使用者名称/密码之前显示以外。该;<路径>;系相对於真实的
系统根目录,不是匿名;FTP;;所使用的根目录。

警告:这个指令的使用可以完全地防止不相容的;FTP;;客户端
程式使用该;FTP;;伺服器。并非所有的客户端都能够处理多行
回应(multi-line;responses)(这正是;banner;显示的方式)

email;<名称>
定义;ftp;档案处(archive)维护者的电子邮递位址。这个字串
将会在每一次使用;%E;代换变数(magic;cookie)的时候印出。

message;<路径>;{<时机>;{<类别>;...}}
定义一个配合;<路径>;的档案名称在使用者签入时或是在使用
切换工作目录指令的时候;ftpd;将会显示该档案的内容。该项
<时机>;参数可以是;"LOGIN";或;"CWD=<目录>"。如果;<时机>
是;"CWD=<目录>";的话,<目录>;指定将会引发该通知的新预设
目录。

该选择性的;<类别>;指定允许该讯息只对特殊类别的成员显示
。可以指定超过一个类别。

在说明档中可以有″代换变数(magic;cookies)″;这会使;ftp
伺服器以指定的文字字串取代该变数:

%T;;;;;;本地时间;;;(form;Thu;;Nov;;15;;17:12:42
1990)
%F;;;;;;CWD;所在分割区的剩馀空间;(kbytes)
[并非所有系统都有支援]
%C;;;;;;目前的工作目录
%E;;;;;;定义在;ftpaccess;中维护者的电子邮递位址
%R;;;;;;远端主机名称
%L;;;;;;本地主机名称
%U;;;;;;签入时所给的使用者名称
%M;;;;;;这个类别所允许的最大使用者数目
%N;;;;;;这个类别目前的使用者数目

此项;message;;将只显示一次以避免惹使用者讨厌。要记得当
MESSAGEs;被一匿名的;FTP;使用者引发时,该;<路径>;必须是
相对於匿名;FTP;;目录树的根目录。

readme;<路径>;{<时机>;{<类别>}}
定义一个配合;<路径>;的档案名称在使用者签入时或是在使用
切换工作目录指令的时候;ftpd;将会告知使用者该档案存在及
修改的日期。;<时机>;参数可以是;"LOGIN";或;"CWD=<目录>"
。若;<时机>;是;"CWD=<目录>";的话,<目录>;;指定将会引发
该通知的新预设目录。此项讯息将只显示一次以避免打扰使用
者。要记得当;README;讯息被一匿名的;FTP;;使用者引发时,
该;<路径>;必须是相对於匿名;FTP;;目录树的根目录。

该选择性的;<类别>;指定允许该讯息只对特殊类别的成员显示
。可以指定超过一个类别。

记录功能(Logging;Capabilities)
log;commands;<类型列表>
以使用者启动个别的记录指令。;<类型列表>;是一个以任何的
"anonymous",;"guest";;及;"real";关键字所组成使用逗点隔
开的列表。如果包含;"real";关键字,将会为使用;FTP;;存取
真实帐号的使用者做记录,而如果包含;"anonymous";;关键字
则将会为使用匿名;FTP;;的使用者做记录。;"guest";;关键字
符合访客存取帐号(参阅;"guestgroup";以取得更多资讯)

log;transfers;<类型列表>;<目录>
启动对真实的或匿名的;FTP;;使用者的档案传输记录。对传输
到伺服器(进来)的记录可以跟从伺服器传输(出去)分开来
启动。;<类型列表>;是一个以任何的;"anonymous",;;"guest"
及;"real";关键字所组成使用逗点隔开的列表。如果其中包含
有;"real";关键字,将会为使用;FTP;;存取真实帐号的使用者
做记录,而如果包含;"anonymous";;关键字则将会为使用匿名
FTP;的使用者做记录。而;"guest";;关键字符合访客存取帐号
(参阅;"guestgroup";以取得更多资讯)。;<目录>;是一个以
任何的;"inbound";;以及;"outbound";两个关键字所组成以逗
点隔开的列表,而且将会分别引发对送往该伺服器以及从该伺
服器送出的传输记录。

其它功能(Miscellaneous;Capabilities)
alias;<字串>;<目录>
为一个目录定义一个别名,<字串>。可以用来加入逻辑目录的
其它概念。

例如:
alias;;;rfc:;;;;/pub/doc/rfc

允许使用者从任何目录以指令;"cd;rfc:";存取;/pub/doc/rfc
。别名只应用於;cd;指令上。

cdpath;<目录>
定义;cdpath;里的一个项目。这定义一个在改变目录时使用的
搜寻路径。

例如:

cdpath;/pub/packages
cdpath;/.aliases

允许使用者直接;cd;到任何;/pub/packages;或;/.alias;目录
以下的目录。该搜寻路径系以该行出现在;ftpaccess;;档案里
的顺序定义。

如果使用者所下的指令是:

cd;foo

则会以下列的顺序搜寻该目录:

./foo
一个称为;"foo";的别名
/pub/packages/foo
/.aliases/foo

该;cd;path;;只能够配合;cd;指令使用。如果你有数量很大的
别名那麽你可能想要设立一个目录别名链结到所有你希望能让
使用者使用的区域。

compress;[...]

tar;[...]
为任何符合任何;的类别启动压缩(compress)或
包裹(tar)功能。实际的转换(conversions)定义在外部的档案
FTPLIB/ftpconversions;;之中。

shutdown;<路径>
如果;<路径>;所指的档案存在,伺服器将会规律地检查该档案
以便得知该伺服器是否将要被停机。如果计画一次停机,则会
通告使用者,新的连线在停机之前的一段指定的时间之後会被
拒绝且目前的连线在停机之前的一段指定的时间之後会被停止
。<路径>指到一个结构如下的档案:

<年>;<月>;<日>;<时>;;<分>;;<拒绝_期间>
<抛弃_期间>
<本文>

<年>;任何;>;1970;的年份
<月>;0-11;<----;注意!
<时>;0-23
<分>;0-59

<拒绝_期间>;;以及;<抛弃_期间>;是在停机之前新的连线将会
被拒绝以及存在的连线将会被抛弃的一段格式为;HHMM;的期间


<本文>;;跟从任何讯息(参阅;"message")的一般规则,配合
下列额外可用的代换变数:

%s;;;;;;系统将要停机的时间
%r;;;;;;新的连线将会被拒绝的时间
%d;;;;;;目前的连线将会被抛弃的时间

所有时间的格式都是:;ddd;MMM;DD;hh:mm:ss;YYYY;。在该配
置档中只能有一个;"shutdown";指令。

外部程式;ftpshut(8);可以用来自动化产生这个档案的程序。

许可功能(Permission;Capabilities)
chmod;<类型列表>

delete;<类型列表>

overwrite;<类型列表>

umask;<类型列表>
允许或不允许执行指定功能的能力。依照预设值,允许所有的
使用者执行。

<类型列表>;是一个以任何;"anonymous",;"guest";及;"real"
关键字所组成使用逗点隔开的列表。

passwd-check;()
定义该伺服器对匿名;ftp;;密码检查的层级与执行。

none;;;;;;不执行密码检查。
trivial;;;密码中必须包含一个;'@';字元。
rfc822;;;;密码必须是一个;rfc822;相容的位址。

warn;;;;;;警告该使用者,但是允许他们签入。
enforce;;;警告该使用者,并且接著将之踢出。

path-filter;<类型列表>;<讯息>;<允许的字元集>
{<不允许的正规表示式>;...}
对於属於;<类型列表>;的使用者,path-filter;定义控制何种
档案名称允许或不允许的正规表示式;(regular;expressions)
。可以有多个不允许的正规表示式。如果一个档案名称因为不
符合正规表示式的标准而无效的话,将会显示;<讯息>;给该使
用者。例如:

path-filter;;;anonymous;;;;/etc/pathmsg;;;;^[-A-Za-
z0-9._]*$;^.;^-

指定所有匿名使用者所上传的档案名称只能以;A-Z,;a-z,;0-9
以及;"._-";;组成而且不能以一个;".";或是一个;"-";开始。
如果该档案名称是不合法的,则将会显示;/etc/pathmsg;给该
使用者。

upload;;;;;<拥有者>;;;<群组>
["dirs"|"nodirs"]
配合;定义一个认可或拒绝上传的目录。

如果其认可上传,所有档案将会由;<拥有者>;以及;<群组>;所
拥有而且将会具有根据;设置的权限(permission)。

目录系以最佳-符合(best-match)为基础。

例如:

upload;;*;;;;;;;no
upload;;/incoming;;;;;;;yes;;ftp;;daemon;;0666
upload;;;/incoming/gifs;;;yes;;;jlc;;;guest;;;;0600
nodirs

这将仅允许上传到;/incoming;以及;/incoming/gifs。上传到
/incoming;的档案将由;ftp/daemon;所拥有并且具有;0666;的
权限。上传到;/incoming/gifs;的档案将由;jlc/guest;;拥有
并且具有;0600;的权限。

选择性的;"dir";以及;"nodir";关键字可以指定允许或不允许
使用;mkdir;指令建立新的子目录。

该;upload;关键字只应用於匿名的使用者。

档案
FTPLIB/ftpaccess

参阅

标签: linux