FTP服务器的安装和配置在Internet上FTP(FileTransferProtocol,文件传输合同)饰演着非常重要的角色。我们可以通过FTP与远程机器传输交换文件数据,下载或上传最新的软件。基本的FTP服务器按照服务的对象可以分为两种,一种是Unix(其实也包括Linux)系统基本的FTP服务器,使用者是服务器上合法的用户;而另一种是匿名FTP服务器(AnonmousFTPService),任何人只要使用anonmousftp账号并提供电子电邮地址作为口令就可以使用FTP服务。对于系统中合法的用户,其登陆目录为她们的home目录;若果是匿名用户登陆的话,登陆后会到/home/ftp这个目录中,该除非我们在该目录中储存下载文件linux设置默认网关,否则匿名FTP使用者将不能做任何事情。在本章,我们将详尽地介绍FTP服务器的安装、配置以及服务器的维护。安装FTP服务器在Linux的发行套件中都有FTP服务器的软件包wu-ftpd(WashingtonUniversityFTPserver),这是目前最流行的一种免费FTP服务器软件,目前绝大多数的FTP站点都是由wu-ftpd来架设的,而wu-ftp这么流行的缘由是由于它强悍的功能,比如:可控制不同网域的机器对FTP服务器的存取权限和访问时段。
使用者在下载文件时,可手动对文件进行压缩或解压缩工作。可暂时关掉FTP服务器,便于系统维护。在安装系统时假如选择了wu-ftpd软件包,还会手动安装。但若果我们想要使用最新的FTP软件包的话,可以到全世界各大FTP站点下载。目前最新的版本wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,请根据我们下边的步骤进行安装。wu-ftpd-2.5.0.tar.gz复制到临时目录中并解压缩:tarzxvfwu-ftpd-2.5.0.tar.gz步入解压缩形成的目录wu-ftpd-2.5.0中,在开始安装之前请仔细阅读上面的README、INSTALL等文件,便于了解安装须要注意的事项。执行命令“bulidlnx”,编译wu-ftpd-2.5.0的源程序。./bulidlnx这条命令将编译Linux系统使用wu-ftpd所需的服务程序,倘若一切正常的话,将形成如下几个可执行文件:ftpdFTP服务程序ftpshut关掉FTP服务的程序ftpcount显示FTP服务器目前联接的人数的程序ftpwho查看目前使用者.执行安装命令“makeinstall”,将编译生成的可执行文件和manpages安装到系统中。
makeinstall更改/etc/inetd.conf文件,加入如下一行:ftpstreamtcpnowaitroot/usr/sbin/tcpdin.ftpd若果系统中曾经安装有wu-ftpd的话,这一步可以略去不做,安装安装程序会手动更新/etc/inetd.conf文件有关ftp的记录.假若想为FTP用户提供压缩解压缩的功能,我们还须要将tar、gzipcompress、cpio、sh等可执行文件复制到/home/ftp/bin目录下。据悉,还须要将ls命令复制到/home/ftp/bin中,便于使用者查看目录。由于我们复制到/home/ftp/bin目录下的程序有可能是动态链接的,所以它们运行时还须要共享函数库linux移植,我们要将她们运行时须要用到的共享库复制到/home/frp/lib目录中。检测这种命令所须要的共享库可以使用“ldd”命令。比如对于“ls”命令,我们使用“ldd/usr/bin/ls”命令就可以得到如下的输ldd/usr/bin/lslibc.so.6这样,我们就须要将/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:.为了确保提供FTP服务不会给我们的系统带来安全隐患,我们还须要采取chmod0555/home/ftpchmod0111/home/ftp/bin/*chmod0555/home/ftp/lib/*chmid0444/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服务器,它只有在使用SITEGROUP功能时才有用。/var/log/xferlogFTP日志文件。该文件将记录使用匿名账户的用户所上传或下载的过的文件,该文件只是记录FTP信息,我们不须要对它进行配置。
大致了解了各个设置文件的功能之后,我们就来为您介绍这种文件中的内容以及学习怎样配置。配置/etc/ftpaccess文件我们上面介绍的wu-ftpd的大多数功能都是在ftpaccess文件中设置的。我们无须自己编撰该文件如何安装ftp服务linux,doc/examples/ftpaccess.heavy是一个稍为更改一下就能适用于大多数FTP服务器的事例如何安装ftp服务linux,所以下边我们将以这个示例文件为例为您介ftpaccess文件的配置。wu-ftpd-2.5.0的/etc/ftpaccess示例文件ftpaccess.heavy设置用户登入FTP服务器时,容许输错密码的次数。错误的话,FTP服务器复印“repeatedloginfailures”的信息并退出FTP会话过程。如不设置,则缺省值是class是拿来定义用户级别的命令,它的格式为classclasstypelistaddrglobFTP服务器上有三种类型的使用者,分别是“real”——表示FTP服务器上有合法账号的用户;“guest”——表示另行定义的个别使用组的使用者;“anonymous”——权限最低的匿名用户。
有了这三种使用者之后,在ftpaccess文件中就可以依据不的,我们可以按照class的语法定义更多的控制命令。诸如:classremotereal,guest,anonymous这条class句子定义了remote中有三种不同的使用者,“*”表示网路上所有的计算机,也就是说任何人都可以访问FTP服务器,通常的匿名FTP站点都应当有这一项。假如我们希望某台主机或网域中的机器具有特殊的权限,这么我们可以设置如下的classclasslocalreal,guest,anonymouslocalhost这表示本地主机的类别被定义为local,当我们从主机连上FTP服务器上下边是ftpaccess.heavy文件指定的两个class,它们的意思是来自*.domain和本地主机被归为local组,而其它的主机则是remoteclasslocalreal,guest,anonymous*.domain0.0.0.0classremotereal,guest,anonymous我们可以使用limit命令设置某个时间段的FTP用户数目,假如超出了规定的人数,则复印/etc/msgs/msgs.toomany文件并拒绝用户登入。
比如:limitlocal20Any/etc/msgs/msgs.roomany就是限制local这个组的机器同时间内最多容许20人联接FTP服务器,如超载,则复印/etc/msgs/msgs.toomany文件,显示当前在线人数太多。ftp说明文件都可以包含变量,在说明文件中可以使用“变量替换(magicsookies)”以指定的字符串替代某个变量:定义在ftpaccess文件中维护者的电子电邮地址class容许的最大使用者数量class目前的使用者数量事例是设置当local用户在任何时侯不能超过20人,remote用户在周末
文章评论