当前位置:操作系统 > Unix/Linux >>

UNIX/LINUX教程---建立LINUX下的FTP服务器(中)

一、ftpaccess - ftpd 的配置文件

  这个文件是FTP服务器最重要的配置文件,因为它关系着你的FTP服务器能否正常工作,还有许多权限使用上的设定。

  一个包含了所有设定的ftpaccess的文件内容如下:



loginfails 2
class   all   real,guest,anonymous  *
email root@localhost
loginfails 5
readme  README*    login
readme  README*    cwd=*
message /welcome.msg            login
message .message                cwd=*
compress        yes             all
tar             yes             all
chmod        no guest,anonymous
delete        no guest,anonymous
overwrite        no guest,anonymous
rename        no guest,anonymous
log transfers anonymous,real inbound,outbound
shutdown /etc/shutmsg                     
passwd-check rfc822 warn     



  在这个文件中的设定共分为以下几类:

1、loginfails 次数

  设置允许用户在密码输入错误的情况下有几次重新输入的机会,超过此数目就会断线。

2、class 类名 类别(real、guest、anonymous) IP地址

  设置允许登录到FTP服务器的用户类别。

  在FTP服务器上的用户基本可以分为以下三类:

  real:在该服务器上属于有合法账号的用户;

  guest:另外定义的某些用户组的用户;

  anonymous:权限最低的匿名用户。

  比如:class remote real,guest,anonymous*

  在这里定义了一个名为remote的新类,其包括有三种类型的用户,”*”代表网络上的所有机器,也就是说任何人都可以连到这台FTP服务器上。

3、limit 类别 人数 时间 文件名

  这个指令的功能为设定同时上线的最大用户数。

  如:limit local 20 Any /etc/msgs/msg.toomany

  这个例子中限定了local这个类中的用户在同一时间内只能有20人同时登录到FTP上,如果超过了20人,就会显示msg.toomany这个文件中的信息。还可以进一步定义更具体的时间,如:limit remote SaSu|Any1800-0600 指定remote类中的用户只能在星期六和星期天的全天和其它时间每天的18:00到6:00点登录。

4、readme 说明文件 指令

  它的作用是给执行指令加一个文本说明。每当用户执行所设定的指令时,系统会显示所设定的说明文件。

  如:readme README* login

  表示当用户执行login时,只要是以README开头的文件都会显示出来。

5、message 文件名称 指令

  该指令的功能与上一个指令类似,当用户执行所设定的指令时,系统会将文件的内容显示出来。

6、compress 选项(yes/no) 类别

  设定哪一个类别的用户可以使用compress功能。

7、tar 选项(yes/no) 类别

  设定哪一个类别的用户可以使用tar功能。

8、private 选项(yes/no)

  设定是否支持群组对文件的访问。

9、passwd-check 选项(none/trvial/rfc822) 选项(enforce/warn)

  设定当用户以匿名方式登录时的密码使用方式:


none:不做密码验证,任何密码都可以登录;
trival:表示只要输入的密码中含有”@”就可以登录;
rfc822:表示密码一定要符合rfc822文档中规定的e-mail地址格式才可以登录。
        如:sunshine@sina.com;
enforce:表示会严格执行以上对密码所做的要求,只要
         密码格式不符合指定的格式就无法登录。
Warn:表示当输入密码不正确时只会出现告警信息,但仍然可以登录。



10、log commands 类别(real/guest/anonymous)

  设定对哪些用户所做操作进行记录到/var/log/xferlog。如:log command real,记录系统用户所做操作。

11、log transfers 类别 (real/guest/anonymous)选项(inbound/outbound)

  将指定类别用户在上载(inbound)或下载(outbound)时的有关信息记录在/var/log/xferlog中。如:log transfers anonymous,real inbound ,outbound,记录所有real和匿名用户在上载和下载时所有操作。

12、shutdown 文件名

  在所指定的文件中设定FTP服务器关闭的时间,设定的时间一到就关闭FTP服务器。文件的格式可以由指定/etc/ftpshut来建立。如:shutdown /etc/shutmsg。

13、delete 选项(yes/no) 类别(real/guest/anonymous)

  设定是否允许指定的用户使用delete这个指令。如:delete no guest,anonymous,即不允许guest和匿名用户使用delete这个指令。

14、overwrite 选项(yes/no) 类别(real/anonymous/guest)

  设定是否允许指定的用户使用overwrite这个指令。其用法与delete相同。

15、readme 选项(yes/no) 类别(real /anonymous/guest)

  设定是否允许指定的用户使用readme指令。

16、chmod 选项(yes/no)类别 (real/anonymous/guest)

  设定是否允许指定的用户使用chmod指令。

17、unmask 选项(yes/no)类别 (real/anonymous/guest)

  设定是否允许指定的用户使用unmask指令。

18、upload 根目录 上载目录 选项(yes/no)用户组权限 选项(dirs/nodirs)

  指定哪个目录可以上载文件。这个功能可是最常用的哟。

  比如:upload /home/ftp/incoming yes root daemon 0600 dirs

  表示/home/ftp是指定目录,上载文件的目录是incoming,并且只有daemon用户组中的root用户才有权进行操作,操作权限为0600,即rw------,dirs是指root用户可以在该目录中建立子目录。

  又如:


unpload /home/ftp/bin no
unpload /home/ftp/etc no



  表示/home/ftp/bin及/home/ftp/etc这两个目录是不能上载文件的。

19、alias 目录别名 目录

  给指定目录设置一个别名,方便切换目录。

20、cdpath 目录

  这个功能与dos中的路径设定有些类似,但只用于cd命令时的路径搜索。例如当执行cd etc时,首先在当前目录中查找该目录,如果没有,则看是否有etc的别名设置,如果也没有,就根据cdpath指令所指定的顺序来搜索,查找这个目录。

  如:


cdpath /incoming
cdpath /pub
cdpath /



  则搜索的顺序为/incoming 、/pub、 /。

21、path-filter 类别(real/anonymous/guest)目录

  设定上载的文件名限制。

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

  限制anonymous上载的文件名只能包含字母A-Z、a-z、0-9和._-,名字以”.”和”-“开头的文件也不能上载到FTP服务器。

22、guestgroup 功能

  设定guest组的功能。如:guestgroup ftponly。

23、deny IP地址/域名 说明文件

  设定限制哪一个IP地址或域名的用户无法登录到FTP服务器。

  如:deny 192.192.2.* *.com.cn /etc/deny.msg

  就是拒绝192.192.2网段上的所有用户及com.cn域的用户登录到服务器,并将/etc/deny.msg文件的内容发送给用户,说明不能登录的原因。

  又如:deny !nameserved /etc/deny.msg。

  这是个较特别的用法,设定用户的IP地址必须经由Reserve Domain的方式找到对应的域名才能连接到FTP服务器,也就是说,用户的IP地址必须是在域名服务器中登记的。

二、Ftpservers文件

  该文件的格式如下:


ipaddr/hostnamedirectory-containing-configuration-files
#
#10.196.145.10/etc/ftpd/ftpaccess.somedomain/
#10.196.145.200  /etc/ftpd/ftpaccess.someotherdomain/
#some.domain  INTERNAL



  在客户端与ftp服务器建立连接的时候,服务器将客户端的IP与该文件中的IP地址进行对比,看有无匹配的IP地址,如发现一个匹配项,就用调用该IP地址对应的目录中的配置文件作为该客户端的配置文件。如果没有发现匹配项,或者在存放配置文件的目录名是无效的,就使用默认的配置文件。

  在该文件中用IP地址或者主机名都可以,如:


#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,