IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 服务器 > FTP服务器 > linux快速架设ftp服务器

linux快速架设ftp服务器

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  在Internet上FTP(File Transfer Protocol,文件传输协议)扮演着十分重要的角色。我们可以通过FTP与远程机器传输交换文件数据,下载或上传最新的软件。基本的FTP服务器根据服务的对象可以分为两种,一种是Unix(当然也包括Linux)系统基本的FTP服务器,使用者是服务器上合法的用户;而另一种是匿名FTP服务器(Anonmous FTP Service),任何人只要使用anonmous或ftp帐号并提供电子邮件地址作为口令就可以使用FTP服务。

  对于系统中合法的用户,其登录目录为他们的home目录;如果是匿名用户登录的话,登录后会到/home/ftp这个目录中,该除非我们在该目录中存放下载文件,否则匿名FTP使用者将不能做任何事情。在本章,我们将详细地介绍FTP服务器的安装、配置以及服务器的维护。

  安装FTP服务器

  在Linux的发行套件中都有FTP服务器的软件包wu-ftpd(Washington University FTP server),这是目前最流行的一种免费FTP服务器软件,目前绝大多数的FTP站点都是由wu-ftpd来架设的,而wu-ftp如此流行的原因是因为它强大的功能,例如:

  ·可控制不同网域的机器对 FTP服务器的存取权限和访问时段。

  ·使用者在下载文件时,可自动对文件进行压缩或解压缩工作。

  ·可以记录文件上传或下载的过程。

  ·可以限制最高访问人数,以维持系统的最佳运行效率。

  ·可显示相关的信息,以便用户了解当前的接收状态。

  ·可暂时关闭FTP服务器,以便系统维护。

  在安装系统时如果选择了wu-ftpd软件包,就会自动安装。但如果我们想要使用最新的FTP软件包的话,可以到全世界各大FTP站点下载。目前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,请按照我们下面的步骤进行安装。

  1.将wu-ftpd-2.5.0.tar.gz复制到临时目录中并解压缩:

  # tar zxvf wu-ftpd-2.5.0.tar.gz

  进入解压缩产生的目录wu-ftpd-2.5.0中,在开始安装之前请仔细阅读里面的README、INSTALL等文件,以便了解安装需要注意的事项。

  2.执行命令&bulid lnx&,编译wu-ftpd-2.5.0的源程序。

  # ./bulid lnx

  这条命令将编译Linux系统使用wu-ftpd所需的服务程序,如果一切正常的话,将产生如下几个可执行文件:

  ftpd FTP服务程序

  ftpshut 关闭FTP服务的程序

  ftpcount 显示FTP 服务器目前连接的人数的程序

  ftpwho 查看目前使用者

  3.执行安装命令&make install&,将编译生成的可执行文件和man pages安装到系统中。

  # make install

  4. 修改/etc/inetd.conf文件,加入如下一行:

  ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a

  如果系统中以前安装有wu-ftpd的话,这一步可以略去不做,安装安装程序会自动更新/etc/inetd.conf文件有关ftp的记录项。

  5.如果想为FTP用户提供压缩解压缩的功能,我们还需要将tar、gzip、compress、cpio、sh等可执行文件复制到/home/ftp/bin目录下。此外,还需要将ls命令复制到/home/ftp/bin中,以便使用者查看目录。

  因为我们复制到/home/ftp/bin目录下的程序有可能是动态链接的,所以它们运行时还需要共享函数库,我们要将他们运行时需要用到的共享库复制到/home/frp/lib目录中。检查这些命令所需要的共享库可以使用&ldd&命令。例如对于&ls&命令,我们使用&ldd /usr/bin/ls&命令就可以得到如下的输出:

  # ldd /usr/bin/ls

  libc.so.6 = > /lib/libc.so.6 ( 0x40003000 )

  /lib/ld-linux.so.2 = > /lib/ld-linux.so.2 ( 0x00000000 )

  这样,我们就需要将/lib/libc.so.6和/lib/ld-linux.so.2复制到/home/ftp/lib目录中。其它命令所需的共享库您也可以参照上面的方法找出并复制到/home/etc/lib目录中。

  接下来复制/etc/passwd和/etc/group文件到/home/ftp/etc,并删除其中任何个人用户和个人用户组的信息。基本上应该按照下面的例子修改:

  #/home/ftp/etc/passwd文件

  root:*:0:0:::

  bin:*:1:1:::

  operator:*:11:0:::

  nobody:*:99:99:::

  ftp:*:1000:1000:::

  # /home/ftp/etc/group文件

  root::0:

  bin::1:

  daemon::2:

  sys::3:

  adm::4:

  ftp::1000:

  6.为了确保提供FTP服务不会给我们的系统带来安全隐患,我们还需要采取以下措施:

  # chmod 0555 /home/ftp

  # chmod 0111 /home/ftp/bin/*

  # chmod 0555 /home/ftp/lib/*

  # chmid 0444 /home/ftp/etc/*

  配置FTP服务器

  在安装好wu-ftpd之后,我们还需要定制FTP服务器,使之实现我们上一节中提到的各种功能。为了使我们的FTP服务器实现这些功能,我们需要修改ftpusers、ftpaccess、ftpconversions、xferlog、ftpgroups、ftphosts等系统配置文件。下面我们就来看一看这些文件的功能以及配置它们的方法。

  各配置文件的功能

  在开始配置FTP服务器的配置文件之前,我们先来简要地介绍一下各个文件的功能。在开包后的wu-ftpd-2.5.0目录中的doc/examples目录下,我们可以找到以下这些文件的示例。

  /etc/ftpaccess 一般情况下,我们最为重视的配置文件应该是&ftpaccess&,因为该文件决定着我们FTP服务器是否能够正常工作。此外,我们还可以在这个系统参数文件中设置多项有关使用权限记录,以及与信息有关的文件名称及路径。

  /etc/ftpusers 决定哪些人不可以执行ftp命令来传输文件,这些帐号通常是root、bin、news以及guest等有特殊用途的帐户。

  /etc/ftpconversions 配置该文件可以实现用户在通过FTP传输文件的同时,对文件进行压缩打包等处理。

  /etc/ftphosts 决定哪些网络中的主机或某些用户不能访问FTP服务器的文件。

  /etc/ftpgroups 该文件不是决定哪些用户组不能够访问FTP服务器,它只有在使用SITE GROUP功能时才有用。

  /var/log/xferlog FTP日志文件。该文件将记录使用匿名帐户的用户所上传或下载的过的文件,该文件只是记录FTP信息,我们不需要对它进行配置。

  大致了解了各个设置文件的功能以后,我们就来为您介绍这些文件中的内容以及学习如何配置。

#p#副标题#e#

  配置/etc/ftpaccess文件

  我们前面介绍的wu-ftpd的大多数功能都是在ftpaccess文件中设置的。我们无须自己编写该文件,doc/examples/ftpaccess.heavy是一个稍微修改一下就能适用于大多数FTP服务器的例子,所以下面我们将以这个示例文件为例为您介绍ftpaccess文件的配置。

  # wu-ftpd-2.5.0的/etc/ftpaccess示例文件ftpaccess.heavy

  #

  # 设置用户登录FTP服务器时,允许输错密码的次数。

  # loginfails 2表示允许用户输错两次密码,如果两次都输入

  # 错误的话,FTP服务器打印&repeated login failures&的信息

  # 并退出FTP会话过程。如不设置,则缺省值是5。

  #

  loginfails 2

  #

  # class是用来定义用户级别的命令,它的格式为

  # class <class> <typelist> <addrglob> [ <addrglob>….]

  # FTP服务器上有三种类型的使用者,分别是&real&——表示

  # 在该FTP服务器上有合法帐号的用户;&guest&——表示另行

  # 定义的某些使用组的使用者;&anonymous&——权限最低的匿名

  # 用户。有了这三种使用者以后,在ftpaccess文件中就可以根据不

  # 同的使用者设置不同的存取权限。但是,只有三种定义一般是不够

  # 的,我们可以根据class的语法定义更多的控制命令。例如:

  # class remote real,guest,anonymous *

  # 这条class语句定义了remote中有三种不同的使用者,&*&表示网络

  # 上所有的计算机,也就是说任何人都可以访问FTP服务器,一般的匿名

  # FTP站点都应该有这一项。如果我们希望某台主机或网域中的机器具有

  # 特殊的权限,那么我们可以设置如下的class:

  # class local real,guest,anonymous localhost

  # 这表示本地主机的类别被定义为local,当我们从主机连上FTP服务器上

  # 时,就可以用较为特别的权限。

  # 下面是ftpaccess.heavy文件指定的两个class,它们的意思是来自*.domain

  # 和本地主机被归为local组,而其它的主机则是remote组。

  #

  class local real,guest,anonymous *.domain 0.0.0.0

  class remote real,guest,anonymous *

  #

  # 我们可以使用limit命令设置某个时间段的FTP用户数量,如果超出了

  # 规定的人数,则打印/etc/msgs/msgs.toomany文件并拒绝用户登录。例如:

  # limit local 20 Any /etc/msgs/msgs.roomany

  # 就是限制local这个组的机器同时间内最多允许20人连接FTP服务器,如果

  # 超员,则打印/etc/msgs/msgs.toomany文件,显示当前在线人数太多。ftp的

  # 说明文件都可以包含变量,在说明

关键词标签:linux,ftp服务器

相关阅读 Linux下FTP的配置与应用 什么是ftp及ftp服务器 FTP出错解决和分析 proftp 安装设定文档 使用Win 2003搭建安全文件服务器 让Proftpd 的数据库模块支持MD5验证

文章评论
发表评论

热门文章 使用Win 2003搭建安全文件服务器 使用Win 2003搭建安全文件服务器 linux服务samba的详细配置 linux服务samba的详细配置 图解Windows xp—FTP服务器配置 图解Windows xp—FTP服务器配置 Linux文件传送命令SCP(Secure Copy) Linux文件传送命令SCP(Secure Copy) 在Windows 2003下搭建FTP服务器 在Windows 2003下搭建FTP服务器 IIS6.0打造FTP服务器完全图文详解 IIS6.0打造FTP服务器完全图文详解

相关下载

人气排行 vsftp配置大全---超完整版 IIS6.0打造FTP服务器完全图文详解 使用Win 2003搭建安全文件服务器 图解Windows xp—FTP服务器配置 linux服务samba的详细配置 在Windows 2003下搭建FTP服务器 FTP登陆错误详解 Windows内置FTP服务器高级配置 Windows XP系统下架设FTP服务器的步骤 不用工具也可以修改Serv-u默认43958端口 使用CesarFTP架设FTP服务器 FTP空间不足 Windows 系统性能监控来报警