app教程网 学习教程 linuxftp配置教程学习(linux中ftp的介绍与搭建原理)

linuxftp配置教程学习(linux中ftp的介绍与搭建原理)

FTP服务是互联网上的标准服务之一,用于在网络上传输文件。在linux系统中,通常使用wu-ftpd来实现该服务(www.wu-ftpd.org)。

一般来说,wu-ftpd提供了三种形式的ftp登录:

1, anonymous ftp 2, real ftp 3, guest ftp

匿名ftp是使用最广泛的ftp。通常,用户以anonymous作为用户名,以email地址作为密码登录。

真正的ftp是用真实的用户名和密码登录。登录后,用户可以访问整个目录结构。一般认为真实的ftp会对系统安全造成很大的威胁,所以除非绝对必要,否则应该尽量避免。

Guest ftp也是真实ftp的一种形式,区别在于geust登录后,除了主目录,他不能访问任何东西。

在wu-ftpd中,ftp访问通过特定的配置文件进行控制。

等等,我们分开来说这些配置文件。

Ftpaccess是主要的ftp配置文件,您可以在其中控制ftp的所有方面。由于控制命令多种多样,我们就以Wu-ftpd 2.6版本为例,分成几个部分。相关文档可以在wu-ftpd手册中找到。

1.访问控制

类别[.]描述:该命令用于定义用户类。定义用户类别的目的是为了便于控制服务。其中包括:

是类名和一个字符串;

可以用逗号分隔的关键字“匿名”、“客人”和“真实”中的一个,

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 user类,它是一个匿名用户,可以来自任何地方。第二条定义了mng用户类,是真实用户,来自210.221.80网段。第3条定义了用户类,这是一个真实的用户,

它可以是除domainname.com以外的任何地址。

再来看看ftpaccess的其他配置。

拒绝描述:匹配源地址的访问被拒绝,并且显示文件的内容。它也可以是包含被拒绝ip地址类别定义的文件。可以用!拒绝没有注册域名的客户端请求。

如:否认!名称serverd/home/FTP/etc/noname。味精

拒绝没有注册域名的客户端请求,显示noname.msg的内容。

来宾组[.]来宾用户[.]真实组[.]真实用户[.]说明:如果一个客户端是中的真实用户,则被视为来宾用户;如果客户端是真实用户,则该客户端也被视为来宾用户;Realgroup和realuser将非匿名连接视为真实用户连接。

比如:guestuser * realgroup admin

这意味着除了admin组之外的任何非匿名连接都被视为来宾用户连接,admin仍然被视为真实用户连接。

Nice []描述:如果连接是针对中的用户,则将ftpd进程的Nice值调整为中指定的值。

Keepalive指示在会话期间是否保持数据通道活动。

Timeout Acceptance Timeout Connection Timeout Data Timeout Idle Timeout Maximum Timeout RFC931 Description: Set various timeouts.

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 []描述:控制哪个主机用于提供匿名或访客访问。如果未指定,将拒绝所有匿名或访客访问。

限制描述:控制一定时间内的ftp访问),达到最大限制时会显示什么。

格式有些复杂:周日到周六是Su,Mo,Tu,We,Th,Fr,Sa,时间是军用格式,小时和分钟之间没有冒号,范围用破折号指定。

如:limit anon 20 MoTuWe,th 0800-1730/home/FTP/etc/topmsg

是指在周一、周二、周三全天,以及周四上午8点到下午5点半这段时间内,登录anon class的用户数量限制在20个,达到这个限制时,将显示topmsg的内容。

no retrive[绝对|相对] [class=].[-]备注:部分文件被拒绝发送。您可以指定文件的绝对路径,或者只给出文件名。如果只给出了文件名,

所有与文件名匹配的文件都将被拒绝。

allow-retrieve[绝对|相对] [class=].[-]描述:定义允许发送的文件,即使它们被noretrieve拒绝。

Loginfails描述:当登录失败次数达到时,会显示“重复登录失败”并终止ftp会话。

私有描述:是否允许用户使用网站用户组和网站GPASS命令进入需要密码的特权用户组。

Access group name: encrypted group name: real group The access group name is the name used to refer to a special group, and encryption _passard is the password of the group.

real_group为/etc/group中实际被引用的组。

2、显示信息控制指当用户连接到ftp或做出某些特定行为(如改变目录)时,向用户显示的特定信息。

greeting full|breif|terse greeting text 说明:定义再用户登录前向用户显示的信息。

full 向用户显示主机名和ftp服务程序的版本,为缺省设置。 breif 只向用户显示主机名。 terse 仅仅显示“FTP server ready' text 可以指定你所想显示的任何信息。

从安全角度出发,建议用terse.

banner 说明:在用户键入用户名和密码前向用户显示的信息。 为想要显示的文件的完整路径名。 如:banner /home/ftp/etc/.banner

hostname 说明:定义在greeting时,向用户显示的主机名。

email 说明:定义网络管理员的email地址。

在该文件中可以包含一些特殊的参数(完整参数请参考手册): %T 本地时间%F 目录的可用空间%C 当前的工作目录%E 管理员的email地址%R 远程主机名%L 本地主机名%U 用户登录时的用户名%M 在该用户类中最大的允许登录数%N 该用户类的再线人数

readme {} 说明:基本用法和功能同message.

3、日志控制

log commands 说明:对特定的typelist的任何命令都进行日志。 typelist可以是real、anonymous、guest 中的一种。

log transfers 说明:对特定的typelist的文件传输进行日志。 typelist同上,direction可以是inbound或oubound两种。

如: log transfers real inbound,outbound 对r

本文来自网络,不代表本站立场,转载请注明出处:https: