通常,wu-ftpd提供三种ftp登录形式:
1、anonymous ftp 2、real ftp 3、guest ftp
anonymous ftp 应用最广泛的一种ftp,通常,用户以anonymous为用户名,以电子邮件地址为密码进行登录。
real ftp 就是以真实的用户名和密码进行登录,登录以后,用户可以访问整个目录结构。通常认为,real ftp 能对系统安全构成极大威胁,所以,除非万不得以,应尽量避免使用real ftp。
guest ftp 也是real ftp 的一种形式,不同之处在于,一个geust登录后,他就不能访问除宿主目录以外的内容。
在wu-ftpd中,是通过特定的配置文来控制ftp 访问的,主要的配置文件有:
/etc/ftpaccess /etc/ftpusers /etc/ftphosts /etc/ftpconversions
等等,下面我们就分别来讲讲这些配置文件。
ftpaccess是主要的ftp配置文件,在该文件内你可以实现对ftp各方面的控制,由于控制命令名目繁多,我们将以wu-ftpd的2.6版本为例分几个部分来讲,相关文档可见wu-ftpd手册。
1、访问控制
class [...] 说明:该命令用于定义用户类,定义用户类的目的是为了方便对服务的控制。其中:
为类名,为一字符串;
可以以逗号分隔的"anonymous"、"guest"、"real"关键字之一,real说明该用户类中的用户可以用真实的账号来访问ftp,anonymous说明该用户类中的用户使用匿名ftp,guest说明该用户类中的用户用guest账号访问ftp。
定义该用户类源ip地址或域名,可以用以下定义方法:ip地址:子网掩码,或address/cidr。这里也可以指定一个文件,该文件包含了该用户类源ip地址的定义。之前还可以用惊叹号表示除以外的地址类。
例子:
class anon anonymous * class mng real 210.221.80.0/24 class user real !domainname.com
第一条定义了anon用户类,为匿名用户,可以是来自任何地方。 第二条定义了mng用户类,为真实用户,来自210.221.80网段。 第三条定义了user用户类,为真实用户,可以是除domainname.com以外的任何地址
我们接着来看ftpaccess的其他配置。
deny 说明:拒绝源地址符合的访问,同时显示文件的内容。也可以是某一文件,该文件包含了拒绝的ip地址类的定义。可以用 !nameserverd来拒绝没有注册域名的客户端请求。
如: deny !nameserverd /home/ftp/etc/noname.msg
拒绝没有注册域名的客户端请求,并且显示noname.msg的内容。
guestgroup [...] guestuser [...] realgroup [...] realuser [...] 说明:如果客户端为中的真实用户(real user)则该客户端被当作guest用户处理;如果客户端为真实用户则该客户端也被当作guest用户处理;realgroup和realuser把非匿名连接视为真实用户连接。和也可以用用户id和组id代替。
比如:guestuser * realgroup admin
表示除了admin组以外的任何非匿名连接视为guest用户连接,admin仍旧视为真实用户连接。
nice [] 说明:如果为中的用户连接的话,则调整ftpd进程的nice值为中指定的值。
keepalive 说明:是否在会话过程中保持数据通道的激活状态。
timeout accept timeout connect timeout data timeout idle timeout maxidle timeout RFC931 说明:设置各种超时。
accept设置ftpd服务等待被动数据通道连接请求的超时。(缺省为120秒) connect设置ftpd服务标准数据通道连接请求的超时。(缺省为120秒) data设置ftpd服务等待客户端在数据通道上多长时间没有动作为超时。(缺省为1200秒) idle 设置ftpd服务等待客户端用户在命令通道上多长时间没有动作为超时。(缺省为900秒) maxidle 设置用户可以在客户端设置的更长的空闲时间的上限。(缺省为10秒) RFC931 设置一个RFC931协议会话的最长时间。为零则取消对该协议的支持。
tcpwindows [] 说明:设置tcp 窗口的大小。一般linux系统缺省值为6。如果网络连接情况较好可以增大该值,否则,应减小之。
我们接着来看ftpaccess的其他配置。
file-limit [] [] 说明:用来限制在给定类中的用户可以传输的文件数目。可分为进、出、合计三类。如果没有指定类,则改选项将应用于所有没有传输文件限制的类。可选参数raw用来限制总的流量。
byte-limit [] [] 说明:说明:用来限制在给定类中的用户可以传输的数据流量。可分为进、出、合计三类。如果没有指定类,则改选项将应用于所有没有传输文件限制的类。可选参数raw用来限制总的流量。
limit-time {*|anonymous|guest} 说明:用于限制一个ftp会话的总时间。缺省值为无限,真实用户不受限制。
guestserver [] 说明:控制那一部主机用来提供anonymous或guest访问。如果没有指定,则拒绝所有anonymous或guest访问。
limit 说明:控制在一定的时间内,可以访问ftp的指定),当达到最大限制数时,显示的内容。
|