建立Linux下的FTP服务器(上)一、FTP简介 FTP就是File Transport Protocol文件传输协议的缩写,FTP服务器能够在网络上提供文件传输服务。FTP最初与WWW服务和邮件服务一起被列为因特网的三大应用,可见其在网络应用中的地位举足轻重。 FTP服务器根据服务对象的不同可分为匿名服务器(Anonymous Ftp Server)和系统FTP服务器。前者是可以让任何人登录上去获取文件的FTP服务器,后者就只能是在FTP服务器上有合法账号的人才能使用。 目前在UNIX和LINUX下常用的免费FTP服务器软件主要是Wu-FTP和ProFTP这两种。Wu-FTP广泛应用在众多的Unix和Linux系统中,是RedHat Linux默认的FTP服务器软件,其全称是Washington University FTP。 二、wu-ftp的介绍 现在因特网上FTP服务器的安装软件大多使用的是wu-ftp软件,因为它支持多个操作系统平台,比如:
除了支持多个系统平台以外,wu-ftp还有很强大的功能,它提供的功能有: 1、 让用户在下载文件的同时可以对文件做自动的压缩或解压缩操作; 2、 可以对不同网络的机器做不同的存取限制和存取时间; 3、 可以记录文件上传和下载的时间; 4、 可以显示传输时的相关信息,以便让用户知道目前的传输状态; 5、 可以设定连接的数量限制,以提高工作效率。 这些功能都适于吞吐量较大的FTP服务器的管理要求。 三、wu-ftp的安装 一般的,当你安装好Linux后,就已经装上wu-ftp服务器,我们所要做的只是完成一些配置而已。但我们这里还是从wu-ftp的原始文件开始做起,这样能够详细了解它的全部安装过程。 你可以到www.wu-ftpd.org去下载wu-ftp的最新版本,目前的版本号是:2.6.1。 拿到软件后,先将它解压强:
文件解压缩后,你可以看到在当前目录下多了一个wu-ftpd-2.6.1这目录,进入这个目录并阅读里面的README文件及INSTALL安装说明,就可以了解整个安装过程。 接下来执行此目录下的build lnx,如果执行成功,你可以在bin/这个目录下得到下面五个可执行文件:
不要以为安装到此就结束了,还差一步呢:
这个操作把编辑时生成的执行文件和wu-ftp的用户手册分别安装在/usr/bin和/usr/man这两个目录下,而ftpd这个执行文件会被更名为wu.ftpd并安装到/usr/sbin这个目录中,所以,执行完上面的操作后,最好先检查一下相应目录中是否已经有了这些文件。 四、配置/etc/inetd.conf 如果要在机器启动时自动启动FTP服务,就要确认在文件/etc/inetd.conf中有这样一行:
注意这行不要被注释了,否则无法自动启动FTP服务。 这里通过tcpd这个进程来启动wu.ftpd,为什么呢?实际上你只要仔细观察一下/etc/inetd.conf文件,就会发现这其中很多服务都是由tcpd来启动的,tcpd其实是个安全性的检查,你可以用tcpd控制哪些IP或域可以使用这项服务。 wu-ftp可以不加任何参数来执行,也可带参数执行,参数说明如下: -d:使用该参数,当FTP服务器发生错误时可以将错误信息写入系统的syslog中,即/var/log/syslog这个文件中。 -l:这个参数是将FTP客户端进行连接的有关信息写入syslog中,但它写入的是/var/log/messages这个文件。 -t:设定FTP客户端连接连续超过几分钟无操作即自动断线,这个参数后面指定等待的时间,单位为秒,如 -t60就是1分钟,如果没有该参数指定,它的默认值为15分钟。 -T:e 有些FTP客户端可以设定不动作便离线的时间,但这个时间不是视FTP客户端的要求而定的,-T参数用来设定最大的超时时间,它的默认值是2小时。 -a:wu.ftpd这个程序是使用/etc/ftpaccess来设定更多的功能,而-a参数就是设定wu.ftpd使用/etc/ftpaccess的设定功能,它的默认值就是/etc/ftpaccess。 -A:此参数是让wu.ftpd不使用/etc/ftpaccess的设定功能。 -L:此参数是将FTP客户端连线后所执行的程序记录在syslog中,也就是记录在/var/log/messages文件中。 -I:使用这个参数,如果有FTP客户端上载文件时,wu.ftpd会将文件的信息记录在/var/log/xferlog文件中。 -o:使用这个参数,如果有FTP客户端下载文件时,wu.ftpd会将文件的信息记录在/var/log/xferlog文件中。 五、检查ftp的配置文件 在wu-ftp安装目录下的bin子目录下执行ckconfig,如下所示:
|