为了实现Linux环境下的FTP服务器配置,绝大多数的Linux发行套装中都选用的是Washington University FTP(Wu-Ftpd),这是一个性能优秀的服务器软件,由于它具有众多强大功能和超大的吞吐量,Inte.net上的FTP服务器有60%以上采用了它。
安装与运行
以下我们以 RedHat Linux为例。
1、安装
根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,它允许任何人登录到FTP服务器,和服务器连接后,在登录提示中输入Anonymous,即可访问服务器。针对这两种服务,可以通过RedHat的第一张光盘安装Wu- Ftpd的RPM包,只需以Root身份进入系统并运行下面的命令即可:
Rpm - ivh anonftp -x.x-x.i386.rpm
Rpm - ivh wu-ftpd-x.x.x-x.i386.rpm
其中-x.x-x和-x.x.x-x是版本号。
2、启动
和Apache一样,Wu-Ftpd也可以配置为自动启动:执行RedHat附带的Setup程序,在“System Service”选项中选中Wu-Ftpd,按下[OK]按钮确定退出即可。
自动启动固然方便,但是,当我们更改了Wu-Ftpd配置文件,需要用到手工启动:
启动:/usr/sbin/ftprestart
关闭:/usr/sbin/ftpshut
FTP服务器的配置
为了确保FTP服务器安全,必须设置一些重要的配置文件,以更好地控制用户的访问权限。这些配置文件是:/etc/ftpusers、 /etc/ftpconversions、/etc/ftp-groups、/etc/ftpphosts、/etc/ftpaccess。利用这些文件,能够非常精确地控制哪些人、在什么时间、从什么地点可以连接服务器,并且可以对他们连接后所做的工作进行检查跟踪。
/etc/ftpusers:该文件夹中包含的用户不能通过FTP登录服务器,有时将需要禁止的用户账号写入文件/etc/ftpuser中,这样就可以禁止一些用户使用FTP服务。
/etc/ftpconversions:用来配置压缩/解压缩程序。
/etc/ftpgroups:创建用户组,这个组中的成员预先定义可以访问FTP服务器。
/etc/ftpphosts:用来根据禁止或允许远程主机对特定账户的访问,例如:
allow czc 192.168.0.0/24
deny cdd 10.0.0.0/8
表示允许czc用户从192.168.0这个网段连线访问,拒绝cdd从10.这个网段连线访问。
/etc/ftpaccess:是非常重要的一个配置文件,用来控制存取权限,文件中的每一行定义一个属性,并对属性的值进行设置。下面对它的一些常用配置做一点介绍:
1、定义用户类别
格式:class [类名] [real/guest/anonymous][IP地址]
功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许特定或者全部的IP地址访问FTP服务器。
2、登录重试次数
在命令行中输入:loginfails 10,这表明如果10次还没有登录成功就切断连线。
3、密码检查
格式:passwd-check 〈strictness〉 warn
是对匿名用户的密码使用方式的检查,其中〈strictness〉是三个可能的字符串之一:None、Trivial、RFC822。若选None,表示将不对口令做任何检查;若选Trivial,表示对口令有一定的要求,它需要在口令中至少要有一个@符号;若选RFC822,则表示最严格,要求E- mail地址必须遵守RFC822报文标题标准(如:czc@domain.com )