三、 配置FTP
FTP的配置文件共有六个:/etc/ftpusers; /etc/ftpgroups; /etc/ftphosts; /etc/ftpaccess; /etc/xferlog; /etc/ftpconversions。下面对这些文件做详细的介绍。
1./etc/ftpusers
此文件就是一个列表,每一行指定一个特殊的用户,缺省有14行。被列在此文件中的用户将被禁止访问FTP服务器。原因是这些用户具有的特殊权限将威胁到FTP服务器的安全。
2./etc/ftpgroups
在这个文件中可以指定一个组,这个组的成员被预先定义可以对FTP服务器进行访问。文件的格式一般为: #test : ENCRYPTED PASSWORD HERE : archive
访问组名:加密口令 :访问组名在/etc/groups中的对应组名
这里采用的加密程序是CRYPT。
3./etc/ftpaccess
/etc/ftpaccess文件是控制那些用户可以访问服务器的主要配置文件,文件中的每一行对一个属性进行定义,或者定义属性的值。下面对文件中常用的命令进行讲解。
(1) class
class [ … …]
用来定义可以访问FTP服务器的一类用户。其中classname是被定义的类名,typelist是被允许进入这一类的用户类型,addrglob是被允许进入这一类的IP地址的范围。其中的typelist是一个由逗号隔开的列表,可能的值有三个:anonymous、guest和real,其分别是anonymous意味着只访问服务器上的公共文件,guest是来宾帐号,real是在FTP服务器上有自己的帐号的用户。Addrglob如果是*,则代表所有的站点。
(2) deny
此命令可以根据主机名或IP地址来决定是否对他们提供服务。其格式为:
deny
其中addrglob表示被拒绝提供服务的地址,message_file则指定了一个文件,当一台主机被拒绝提供服务时,将向该主机显示此文件。
此命令还可以根据主机名是否能通过DNS反向解析来决定是否提供服务,用!nameserved作为addrglob的内容即可。
(3) loginfails
此命令用来决定让客户机进行多少次注册尝试,缺省是5。
(4) email
此命令用来指定一个管理员的E-mail地址,缺省时是root@localhost。
(5) message
此命令决定了当用户进入系统或某一特定目录时,发送什么消息给用户。其格式如下:
message { … …}
其中path是路径名,when是显示消息的条件,可以有两个值,一个是LOGIN(用户一注册成功就显示指定的消息),另一个是CWD=< dir>(当用户进入< dir>时显示指定的消息)。Class则是本命令所适用的类,此项是可选的。
本命令可以重复使用。
(6) readme
此命令指定了一个条件,在这一条件下,通知用户当前目录下的一指定文件被最后更改。其格式为:
readme { }
其各项的意义与message命令类似。当用户为匿名用户时,文件必须查对于用户的FTP目录。
(7) log transfers
此命令可以记录用户的所有文件传输。其格式为:
log transfers
其中typelist是一个指定哪种用户将被记录的列表(anonymous、guest或real),directions是一个指定哪种方向的传输将被记录的列表。记录的结果存放在/var/log/xferlog文件中。
(8) compress
compress是在FTP服务程序中提供的一个允许服务器对文件进行压缩或解压的工具。其格式为:
compress
其中switch的值(yes or no)决定了是否打开这一特性,classglob指定了这一压缩选项所适用的类。
(9) tar
此命令用来通知服务器是否为用户打开文件。其格式如下:
tar
其各项的意义与compress类似。
注意:以上两个特性由/etc/ftpconversions文件控制,参见/etc/ftpconversions文件。
(10) shutdown
此命令使服务器定期检查一个指定的文件以确定服务器是否被关闭,被指定的文件对于root应该是可读的。其格式为:
shutdown
*附:被指定的文件格式为
< day>
其中year必须是1970年之后;month 是用0至11代表1月到12 月;day是从0到30; hour是从0到23; minute是从0到59; deny_offset项用来指定服务器停止接受新连接的时间, 前两位是小时,后两位是分钟;disconnect_offset 指定了现存连接被断开的时间,格式同上;text指定了将显示给用户的一个系统关闭警告。
(11) chmod
此命令决定了用户可否改变服务器上的文件的权限。其格式为:
chmod
其中switch的值(yes or no)决定了是否打开这一特性,typelist指定了这一命令所影响的用户类型(anonymous、guest或real)。
(12) delete
此命令通知服务器用户是否能通过FTP删除位于服务器上的文件。其格式为:
delete
其中各项的意义同上。
(13) overwrite
此命令决定了FTP用户是否可以进行上载操作来替换服务器上现有的文件。其格式为:
overwrite
其中各项的意义同上。
(14) rename
此命令决定了FTP用户是否可以来对服务器上的文件进行改名操作。其格式为:
rename
其中各项的意义同上。
(15) passwd-check
passwd-check命令可用来确定如何要求作为匿名用户的e-mail地址被提义交的字符串。这一命令的格式是:
passwd-check
其中的值有三个:none(不检查口令) 、trivial(要求口令中至少有一个@符号)或rfc822(要求e-mail地址必须遵守RFC822报文标题标准);的值有两个:warn(如果用户没按strichness的要求提供口令,就发警告,但允许连接)和enforce((如果用户没按strichness的要求提供口令,就拒绝连接)。