Linux环境快速架设FTP服务器(4)

  限制这些用户使用FTP服务器主要是基于系统安全的考虑,避免权利过大的用户(如root、ftpadm)登录FTP服务器和避免使用系统命令作为帐号(如shutdown、sync),以避免系统管理上的困惑。我们可以根据自己使用的需要,向该文件中增加或删除用户并将它复制到/etc目录中。

  如果我们要架设的是匿名FTP服务器,那么通常不需要设置ftphosts文件,对于其它类型的FTP服务器可以参考examples/ftphosts文件的格式结合自己的情况加以修改,然后复制到/etc目录中即可。下面是examples/ftphosts文件,该文件允许网络somehost.domain中的用户ftp访问FTP服务器(somehost.domain可以是IP地址或域名)而禁止网络otherhost.domain和网络131.211.32.*中的用户fred使用FTP服务。

  #

  # ftphosts文件配置示例,allow和deny的格式分别为:

  # allow <username> <hostname or domain>

  # deny <username> <hostname or domain>

  #

  # 以“#”开头的均为注释,空行将被忽略

  #

  allow ftp somehost.domain

  deny fred otherhost.domain 131.211.32.*

  配置/etc/ftpconversions文件

  ftpconversions文件主要定义用户从FTP服务器中下载文件时对文件进行格式转换的规则。例如压缩、解压缩、打包和开包等操作,这样用户就不必为.tar.gz、.tgz、.Z、.z之类的文件伤脑筋了。Ftpconversions文件的格式初看上去很复杂,不过不用担心,/examples目录中也有该文件的例子,我们只要原封不动的将它复制到/etc目录中就能满足我们的使用需要了。下面让我们来看看ftpconversions文件中各个记录项,有关各项的说明我们罗列在表14-1中:

  #

  # ftpconversions文件示例

  #

  #

  :.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS

  : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS

  :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP

  : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP

  : : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR

  : : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS

  : : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP

  : : :.crc:/bin/cksum %s:T_REG::CKSUM

  : : :.md5:/bin/md5sum %s:T_REG::MD5SUM

  表1 ftpconversions文件各项说明对照表

  真实文件名

  目标文件名

  命令操作

  <filename>.Z

  <filename>

  传递前使用comprss –d命令压缩

  <filename>.gz

  <filename>

  传递前使用gzip –d命令压缩

  <filename>

  <filename>.Z

  传递前使用compress 命令压缩

  <filename>

  <filename>.gz

  传递前使用gzip –9命令压缩

  <filename>

  <filename>.tar

  传递前使用tar –cf命令打包

  <filename>

  <filename>.tar.Z

  传递前使用tar –cZf命令打包并压缩

  <filename>

  <filename>tar.gz

  传递前使用tar –czf命令打包并压缩

  <directory>

  <directory>.tar.Z

  传递前使用tar –cZf命令对目录打包并压缩

  <directory>

  <directory>.tar.gz

  传递前使用tar –czf命令对目录打包并压缩

  Ftpconversions文件基本上把常用的压缩,打包命令都包括在内了,我们只要将它复制到/etc目录中,以后只要有人访问我们的FTP服务器,FTP服务程序就会根据用户的需要执行压缩或打包的命令。例如,用户想下载目录Howto中所有的文件,那么他不必使用mget命令,而只要使用get Howto.tar.gz,这时wu-ftpd就会将该目录打包压缩并发送到用户的机器上了。所以使用该文件可以完成压缩传递的数据量,减少传输时间等作用。此外ftpconversions文件中定义的可执行文件的位置/bin指的都是/home/ftp/bin而不是Lnux /目录下的bin,所以请检查/home/ftp/bin目录中有无上述命令,如果没有还需要将这些程序复制到该目录中。

  截止到这里,匿名FTP服务器的架设工作基本上就完成了,我们可以用ftp命令连接自己的服务器,检查合法用户和匿名用户的连接情况以及各个目录的权限是否正确。之后就可以准备FTP服务的开张了。

  FTP镜像站点的维护

  架设FTP服务器的目的是要在服务器上存放一些共享或自由软件让用户下载,然而各式各样的软件总是处在不断升级换代的过程中,为了能让用户经常光临我们的服务器,我们应该经常维护FTP服务器,使我们拥有最新版本的软件。

  获得软件的方法之一是自己动手在各大FTP站点上搜寻下载,这种方法在我们所关注的软件数目不多、软件更新速度不太快的情况下还可以应付。但是当要维护一个具有软件种类繁多,数量庞大的大型FTP服务器时,这样做就不但费时费力,而且容易出错,因而也就不适合了。另一种投机的办法是使用一些镜像软件,如mirror、ftpmirror等等。有了它们,我们可以在对存放某些常用软件的FTP站点的相应目录在本地建立镜像目录,这些软件可以运行在后台并定期对远程FTP站点进行定期检查,如果发现远程目录下的文件有所更新,则立即对本地目录中相应的文件进行更新,而对远程目录中未作更新的文件在本地则不做任何处理,这样就避免了不必要的重复传输。

  Mirror最早是由Lee McLoughlin用Perl语言编写的一种perl脚本。最初,mirror只能运行在Unix系统上,但是从2.9版本以后,该软件也可以运行于Windows95和Windows NT系统上。mirror的功能主要是在本地端主机与远程主机之间使用FTP通信协议,并复制远程主机上的整个目录结构以及其中的内容。所以mirror在传输文件之前,会比较文件建立的时间和文件的大小,以避免拷贝不必要的文件。如果本地和远程主机的目录中有相同文件名的文件则不读取,或指定读取文件名含有特殊字符串的文件等功能。除此之外,mirror还可以选择性的压缩以及分割文件,所以mirror非常适合任何想通过FTP站传输大量文件的人使用。下面我们将介绍mirror的安装和使用。

  mirror的安装

  因为mirror是用perl脚本编写的脚本文件,所以在安装mirror之前,我们必须确保系统中已经安装有perl(perl命令通常位于/usr/bin目录下)。目前各种发行版本的Linux都随盘附有perl程序的软件包,如果系统中没有安装的话,可以从光盘中安装,或直接去[url][/url]下载最新的perl软件。

  安装好perl之后,就可以开始安装mirror了。目前最新的mirror的版本是mirror-2.9(需要4或更高版本的perl程序),我们可以去下列站点下载:

  ftp://sunsite.org.uk/packages/mirror/mirror.tar.gz ; (http方式)

  ftp://sunsite.org.uk/packages/mirror/mirror.zip (http方式,for Windows的mirror)

  我们可以到下面的站点查看是否有更新的版本出现:

  

  下面是我们列出的一些mirror的镜像站点,您可以根据您的情况选择离您内较近,下载速度较快的站点来下载:

  USA ftp://ftp.cs.columbia.edu/archives/perl/mirror/

  Poland ftp://giswitch.sggw.waw.pl/pub/unix/mirror/

  Japan ftp://SunSITE.sut.ac.jp/pub/archives/packages/mirror/ (http方式)

  将下载的mirror-2.9.tar.gz复制到一个合适的目录,如/usr/local/lib然后解压缩:

  # cp mirror-2.9.tar.gz /usr/local/lib

  # cd /usr/local/lib

  # tar zxvf mirror-2.9.tar.gz

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wydsgz.html