wu-ftp的设置显示信息与UPLOAD目录 [ 网站地图 ]

发表于:2010-3-16 浏览:86 作者: 来源:互联网

关键字:wu-ftp,设置

描述:    原则上安装好Wu-ftpd后,无须做任何设定就可提供ftp服务,只不过功能阳春、显示画面单调而已,事实上是不妨害Ftp服务的wu-ftp提供特殊的功能,如显示登入讯息、设定存取限制、设定

     原则上安装好Wu-ftpd后,无须做任何设定就可提供ftp服务,只不过功能阳春、显示画面单调而已,事实上是不妨害Ftp服务的wu-ftp提供特殊的功能,如显示登入讯息、设定存取限制、设定上传目录、设定虚拟主机....等,您就必须在/etc/ftpaccess档里做明确的定义。
在/etc/ftpaccess文件里最容易做设定的是显示登入或变换目录的讯息,所使用的指令是message,其用法为:
· 语法:message 讯息文件名 指令动作
· 说明:message主要用来设定FTP的显示讯息。要注意的是,讯息文件是以ftp的root目录(/home/ftp)为根目录,如/welcome.msg代表/home/ftp/welcome.msg,而.message表示在每一目录里的隐藏文件。
· 用法:内定值是
message /welcome.msg login (A)
message .message cwd=* (B)
A:表示当匿名使用者登入(login)Ftp Server时,执行/home/ftp 目录下的welcome.msg讯息文件。
B:表示当匿名使用者转换目录时(cwd=*),执行转换目录后下的.message隐藏档。
您可使用一般的文书编辑器,在讯息文件里自行编辑欲显示的讯息,如在welcome.msg讯息文件里输入如下内容:
=================================
欢迎光临东东 Ftp 小栈,
==================================
若有任何问题请来信给本站管理者
E-mail:%E
==================================
那么,每当匿名使用者登入Ftp Server时,在屏幕上就会显现上述讯息,注意到上述的%E表示列出管理者的E-mail Address,%E的值乃是根据在/etc/ftpaccess档里所定义的email叙述,email命令用来定义管理者的E-mail。在讯息文件里,您可以使用Wu-ftp所提供的变量辅助您显示讯息。请再看.message文件里的范例内容:
=================================
目前时间是:%T
您来自:%R
您的身分是:"%U"
本站最大联机人数是:100 人
您是第 [%N] 位联机者
==================================
上述的讯息文件目的很明确,相信不用多做解说,但是究竟有哪些变量可以使用?又该如何使用呢?其实Wu-ftp所提供的系统变量都是以%为开头的,可使用的变量如下:
﹪T 显示本地时间
﹪F 显示所在分割区的剩余空间,但并非所有系统支持。
﹪C 显示目前工作目录
﹪E 显示定义在ftpaccess中管理者的E-mail Address
﹪R 显示远程主机名称
﹪L 显示本地主机名称
﹪U 显示登入时的使用者名称
﹪M 显示这个类别(class)所允许联机的最大使用者数目
﹪N 显示这个类别(class)目前联机的使用数目
上述所定义的/welcome.msg与.message档,实际利用Cueftp以匿名身分登入Ftp Server的显示画面如下:

六、基本设定与存取限制
为了让Ftp Server能针对不同的族群提供不同的服务,在/etc/ftpaccess档里,您可使用class命令及limit命令做严格的定义。
· 语法:class 名称 成员 领域/主机名称
· 说明:class的功能为设定FTP Server上使用者的类别。基本上FTP站内定有三种类别的使用者:
real:在FTP Server上有合法账号的使用者。
guest:被另外定义成群组的使用者。
anonymous:权限最低的匿名使用者。
内定的类别为all,其成员为real,guest,anonymous,如下所示:
class all real,guest,anonymous *
上述的 * 表示网络上所有的机器。但这样的使用者分类似乎还不够,因此必须利用class命令定义更多的类别。
例如:将从各地连上FTP Server的所有合法使用者,都订为real类别。
class real real *
例如:若FTP Server的主机名称为redhat.tmtc.edu.tw,设定从本身这台机器连上本身FTP Server的user为local类别
class local real,guest,anonymous redhat.tmtc.edu.tw
例如:欲表示从tmtc.edu.tw领域名称结尾的机器,连接本FTP
Server的user都被分类为tmtc,那么可定义如下:
class tmtc real,guest,anonymous *tmtc.edu.tw
例如:从各地以匿名ftp身分登入FTP Server的使用者,被分类为remote 。
class remote anonymous *
※注意:读者可依实际需求设定class,将联机的client端分类管理。但是class有first match的特性,即定义多个"calss"类别若发生定义重迭时,会使用在ftpaccess档案中第一个定义的class分类。
例如 :以前面所设定的class为例,如果有人从redhat.tmtc.edu.tw主机上,使用匿名ftp登入,那么这个联机符合的class有local、tmtc、remote。但是这个联机将会被归到最先吻合的class,即被归类为local。
使用class命令锁意义的类别可以有特别的权限限制,可配合limit指令来达成。
· 语法:limit class名称 人数 时间 讯息文件
· 说明:用来设定同时间内某class允许的最大联机人数。
· 例如:
limit remote 30 Any /home/ftpadm/msg/msg.toomany
上列叙述,限定分类为remote的使用者,最多在同一时间内只能有30个联机,超过联机数目便显示/home/ftpadm/msg/msg.toomany
这个档案里的讯息。读者可善加利用前述的Wu-ftpd系统变量,编辑出满意的讯息文件,例如将msg.toomany编辑如下:
too many user !There is a limit of %M
例如:限定class为tmtc的user,在星期六日或每天晚上七点到半夜12点,不能超过50人,超过便停止tmtc class联机,并显示讯息。
limit tmtc 50 SatSun|Any1800-2300 /home/msg/msg.toomany
※注意:在limit命令的日期/时间栏里,请以日期的缩写名称做设定,如:Mon、Tue、Wed、....;若是设定时间,请以24小时制的时分做设定,如:0120、1335、2000,若是时间区间则以减号做为分隔,如:1800-2300;设定多个时段则可以 | 表示联集。
定义class后除了可与limit命令配合使用外,也可与deny命令配合使用,其用法如下。
· 语法:deny IP Address/Domain 说明讯息文件
· 说明:拒绝某IP网域或领域使用FTP服务,并显示相关讯息说明。
· 例如:
deny *.seed.net.tw /home/ftp/msg/msg1.deny
deny 163.21.236.* /home/ftp/msg/msg2.deny
若是要拒绝没有完整Domain Name登入Ftp Server的机器,可设定如下:
deny !nameserved /home/ftp/msg/msg.nodns
七、设定上传目录
虽然上传档案并非是Ftp Server所必须提供的,但在档案能够双向交流的前提下,您不妨让您的匿名Ftp站台也提供上传档案功能。若需要设定Ftp Server提供上传档案功能时,您必须注意到上传档案目录的安全性。一般规划上传档案的目录为/home/ftp/upload,匿名的使用者被允许上传档案到此目录(即拥有写入的权限),但无法浏览此目录里的内容,也无法建立子目录、删除档案及下传upload目录下的档案;看起来,似乎在设定上颇为麻烦,其实不然,您可使用如下步骤达成:
1. # cd /home/ftp
2. # mkdir upload
3. # chmod 733 upload ;或chmod 333,任何人都具备写入及执行的权限
4. 在 /etc/ftpaccess档里加入如下叙述:
upload /home/ftp /upload yes root ftp 0600 nodir
检查下列指令是否设定正确。
chmod no guest,anonymous
delete no guest,anonymous
overwrite no guest,anonymous
rename no guest,anonymous
设定上传目录就是这么简单的工作,当然您可以依据需求设定各种不同权限的上传档案目录,以下就针对upload命令做一详细的解说。
· 语法:upload FTP根目录 上传目录 是否允许上传[yes/no]
· 上传档案后的拥有者 拥有群组 权限 是否允许建立目录[dirs/nodirs]
· 说明:upload命令可设定让使用者上传档案的路径,或是拒绝上传档案的目录,还可设定上传后,档案的归属与权限。如果决定要开放上传至upload目录,别忘记要先开放可写入的权限:
chmod a+w /home/ftp/upload/
范 例 :/home/ftp/目录下皆不允许上传档案
upload /home/ftp * no
upload /home/ftp /bin no
upload /home/ftp /etc no
范 例 : 设定匿名FTP的根目录为/home/ftp/,而底下的目录upload(即/home/ftp/upload/)可供上传档案。档案拥有者为root,拥有群组为adm,上传后的档案权限设定为0600(即为选项-rw-------),而且不能建立次目录。
upload /home/ftp /upload yes root adm 0600 nodirs
当权限设定为0600时,匿名使用者锁上传的档案不能立刻下载,须等FTP管理者将档案属性更改为0644才可提供下载。所以FTP管理者可利用这个特点,逐一审查上传的软件、文件,若通过审查,没问题后,再开放下传权限。若想把upload上来的档案立即可供下传,让其它人马上可以download档案,只要将档案属性更改为0744即可,如下设定:
upload /home/ftp /upload yes ftpadm adm 0744 nodirs
若要对上传的档案,做适度的过滤,可使用path-filter命令设定过滤规则,其语法如下:
· 语法:path-filter 使用者类别 讯息文件 上传文件名规则
· 说明:path-filter的功用在过滤使用者上传的文件名称是否合法。
· 例如:若限定匿名ftp使用者上传档案的名称,只能以A-Z、a-z、0-9以及“.ˍ-”组成,而且开头不能以一个“.”或是一个﹪#“-”为做为文件名,违反规则,Ftp Server将会显示讯息文件内容/home/ftpadm/msg/pathmsg给该位匿名使用者。
path-filter anonymous /home/ftpadm/msg/pathmsg
^[-A-Za-z0-9._]*$ ^\. ^-
※ 注:上传文件名规则是使用正则表示式(regular express)做设定。

站长资讯网 做中国最丰富的资讯网站 沪ICP备05004089号