Linux下FTP服务器的安装和配置.docx

上传人:b****5 文档编号:15204793 上传时间:2023-07-02 格式:DOCX 页数:21 大小:26.36KB
下载 相关 举报
Linux下FTP服务器的安装和配置.docx_第1页
第1页 / 共21页
Linux下FTP服务器的安装和配置.docx_第2页
第2页 / 共21页
Linux下FTP服务器的安装和配置.docx_第3页
第3页 / 共21页
Linux下FTP服务器的安装和配置.docx_第4页
第4页 / 共21页
Linux下FTP服务器的安装和配置.docx_第5页
第5页 / 共21页
Linux下FTP服务器的安装和配置.docx_第6页
第6页 / 共21页
Linux下FTP服务器的安装和配置.docx_第7页
第7页 / 共21页
Linux下FTP服务器的安装和配置.docx_第8页
第8页 / 共21页
Linux下FTP服务器的安装和配置.docx_第9页
第9页 / 共21页
Linux下FTP服务器的安装和配置.docx_第10页
第10页 / 共21页
Linux下FTP服务器的安装和配置.docx_第11页
第11页 / 共21页
Linux下FTP服务器的安装和配置.docx_第12页
第12页 / 共21页
Linux下FTP服务器的安装和配置.docx_第13页
第13页 / 共21页
Linux下FTP服务器的安装和配置.docx_第14页
第14页 / 共21页
Linux下FTP服务器的安装和配置.docx_第15页
第15页 / 共21页
Linux下FTP服务器的安装和配置.docx_第16页
第16页 / 共21页
Linux下FTP服务器的安装和配置.docx_第17页
第17页 / 共21页
Linux下FTP服务器的安装和配置.docx_第18页
第18页 / 共21页
Linux下FTP服务器的安装和配置.docx_第19页
第19页 / 共21页
Linux下FTP服务器的安装和配置.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Linux下FTP服务器的安装和配置.docx

《Linux下FTP服务器的安装和配置.docx》由会员分享,可在线阅读,更多相关《Linux下FTP服务器的安装和配置.docx(21页珍藏版)》请在冰点文库上搜索。

Linux下FTP服务器的安装和配置.docx

Linux下FTP服务器的安装和配置

Linux下FTP服务器的安装和配置

 

在Internet上FTP(FileTransferProtocol,文件传输协议)扮演着十分重要的角色。

我们可以通过FTP与远程机器传输交换文件数据,下载或上传最新的软件。

基本的FTP服务器根据服务的对象可以分为两种,一种是Unix(当然也包括Linux)系统基本的FTP服务器,使用者是服务器上合法的用户;而另一种是匿名FTP服务器(AnonmousFTPService),任何人只要使用anonmous或ftp帐号并提供电子邮件地址作为口令就可以使用FTP服务。

Forpersonaluseonlyinstudyandresearch;notforcommercialuse

对于系统中合法的用户,其登录目录为他们的home目录;如果是匿名用户登录的话,登录后会到/home/ftp这个目录中,该除非我们在该目录中存放下载文件,否则匿名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-,请按照我们下面的步骤进行安装。

1.将wu-ftpd-

#tarzxvfwu-ftpd-

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

2.执行命令“bulidlnx”,编译wu-ftpd-

#./bulidlnx

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

ftpdFTP服务程序

ftpshut关闭FTP服务的程序

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

ftpwho查看目前使用者

3.执行安装命令“makeinstall”,将编译生成的可执行文件和manpages安装到系统中。

#makeinstall

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

ftpstreamtcpnowaitroot/usr/sbin/tcpdin.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(0x)

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

这样,我们就需要将/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服务不会给我们的系统带来安全隐患,我们还需要采取以下措施:

#chmod0555/home/ftp

#chmod0111/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-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文件中设置的。

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

#wu-ftpd-

#

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

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

#错误的话,FTP服务器打印“repeatedloginfailures”的信息

#并退出FTP会话过程。

如不设置,则缺省值是5。

#

loginfails2

#

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

#class[….]

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

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

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

#用户。

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

#同的使用者设置不同的存取权限。

但是,只有三种定义一般是不够

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

例如:

#classremotereal,guest,anonymous*

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

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

#FTP站点都应该有这一项。

如果我们希望某台主机或网域中的机器具有

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

#classlocalreal,guest,anonymouslocalhost

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

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

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

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

#

classlocalreal,guest,anonymous*.domain

classremotereal,guest,anonymous*

#

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

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

例如:

#limitlocal20Any/etc/msgs/msgs.roomany

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

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

ftp的

#说明文件都可以包含变量,在说明文件中可以使用“变量替换(magic

#sookies)”以指定的字符串代替某个变量:

#%T本地时间

#%FCWD所在分区的剩余空间

#%C当前工作目录

#%E定义在ftpaccess文件中维护者的电子邮件地址

#%R远端主机名称

#%L本地主机名称

#%U登录时所给的用户名称

#%M该class允许的最大使用者数目

#%N该class目前的使用者数目

#

#我们可以利用这些变量编辑一个显示信息非常完善的说明文件。

下面的

#例子是设置当local用户在任何时候不能超过20人,remote用户在周六

#周日的18:

00到6:

00不能超过100人,否则将显示/etc/msgs目录下的

#msg.toomany文件的内容。

#

limitlocal20Any/etc/msgs/msg.toomany

limitremote100SaSu|Any1800-0600/etc/msgs/msg.toomany

limitremote60Any/etc/msgs/msg.toomany

#

#readme命令的作用是指定用户登录或进行其它操作(如更换目录)时

#FTP服务器提示用户阅读的文件。

#

readmeREADME*login

readmeREADME*cwd=*

#

#messages命令主要是设置一些FTP的显示信息,如下面的“message

#/welcome.msglogin”就是代表用户登录时,将显示/home/ftp目录下的

#welcome.msg作为进站画面。

我们要提醒您的是FTP服务器都是以

#/home/ftp这个目录作为根目录的,所以要写成/welcome.msg。

#“message.messagecwd=*”则是定义用户在更换目录时将显示在目录

#下的文件。

#

message/welcome.msglogin

message.messagecwd=*

#

#下面定义的允许从local和remote登录的机器在传输文件时,可执行compress

#压缩文件或使用tar命令将多个文件打包成一个文件。

#

compressyeslocalremote

taryeslocalremote

#

#是否允许通过SITEGROUP和SITEGPASS命令适用秘密文件

#allowuseofprivatefileforSITEGROUPandSITEGPASS?

#

privateyes

#

#设置密码检查的规则。

FTP服务器将要求匿名用户使用其电子邮件

#地址作为密码,可是有人还是会胡乱输入,所以我们可以使用passwd-check

#来查看用户是否输入一个类似于user@hostname的E-mail地址:

none表

#示不进行密码检查;trivial表示密码必须含有“@”;而使用rfc822时,

#表示密码必须满足rfc822规定的地址。

当密码不合要求时,warn将给予

#警告,但依然允许他们登录,而enforce则表示警告并使用户退出。

#

#passwd-check[]

passwd-checkrfc822warn

#

#logcommands记录类型(可以是anonymous、

#guest和real)用户使用的命令。

Logtransfer

#记录类型的用户做的(可以为inbound传进服务器、

#outbound传出服务器)方向的文件传输。

#

logcommandsreal

logtransfersanonymous,realinbound,outbound

#

#如果shutdown指定的文件存在,FTP服务器将定期检查文件

#以查看服务器是否预定关闭。

文件的格式为:

#

#的意思是在服务器关闭前多长时间新的登录

#请求和现存的连接将被拒绝和终止。

是对拒绝连接的用户的一段信息。

#如:

#1999102500:

0000100005

#Systemshutdownat%s

#表示1999年10月25日00:

00关闭FTP服务器,10分钟以前拒绝连接,5分钟

#以前中断正在连接的FTP服务。

外部程序ftpshut可以用来产生文件,

#例如上面的文件可以通过如下的命令来产生:

#ftpshut0000

#

shutdown/etc/shutmsg

#

#设置用户在FTP服务器上可以使用的命令,我们可以看到下面所有的

#命令后面都是“no”,也就是说guest用户不能使用delete、overwrite、

#rename命令,而anonymous则都不能使用。

只有real用户可以使用这些命令。

#allthefollowingdefaultto"yes"foreverybody

#

deletenoguest,anonymous#deletepermission?

overwritenoguest,anonymous#overwritepermission?

renamenoguest,anonymous#renamepermission?

chmodnoanonymous#chmodpermission?

umasknoanonymous#umaskpermission?

#

#设置用户上传文件的目录。

下面例子中/var/ftp目录下的/incoming目录可以

#用来上传文件,上传文件的属主是root,组别是daemon,读取权限是0600,

#dirs表示在/incoming目录中可以创建子目录。

#specifytheuploaddirectoryinformation

#

upload/var/ftp*nonobodynogroup0000nodirs

upload/var/ftp/binno

upload/var/ftp/etcno

upload/var/ftp/incomingyesrootdaemon0600dirs

#

#为/incoming目录设置路径别名为inc:

,用户在任何时候只要使用命令

#“cdinc:

”就可以到达/incoming目录。

#directoryaliases...[note,the":

"isnotrequired]

#

aliasinc:

/incoming

#cdpath主要定义在改变目录时使用的搜索路径。

如果我们定义:

#cdpath/incoming/test、cdpath/pub、cdpath/,那么用户在任意路径

#随便cd到一个目录,比如cdtest,那么将依次搜寻:

#/incoming/test

#/pub/test

#/test

#以寻找一个符合test目录的路径。

#

cdpath/incoming

cdpath/pub

cdpath/

#

#path-filter的功能是检查用户上传文件的文件名是否合法,如下面

#第一条命令就是指定所有的匿名用户上传文件的文件名只能是以

#A-Z、a-z、0-9以及“._-”组成,而不能以一个“.”或是一个“-”开始。

#如果文件名不合法,将显示/etc/pathmsg给该用户。

#

path-filteranonymous/etc/pathmsg^[-A-Za-z0-9_.]*$^.^-

path-filterguest/etc/pathmsg^[-A-Za-z0-9_.]*$^.^-

#

#设置guest用户

#specifywhichgroupofuserswillbetreatedas"guests".

#

guestgroupftponly

#

#FTP服务器管理员的邮件地址

#

emailuser@hostname

以上是一些ftpaccess常用的设置,您也可以参考ftpaccess的manpagse来获得更详细的配置信息。

配置/etc/ftpusers和/etc/ftphosts文件

通过ftpusers文件,我们可以限制系统中有哪些用户不能使用ftp服务,ftphosts文件与之类似,所不同的是该文件中记录的是不能访问FTP服务器的主机。

通常这样做的目的都是出于系统安全的考虑。

Wu-ftpd为我们准备有这两个文件的示例,我们可以在examples目录中找到它们。

下面是ftpusers文件设置的例子:

#禁止使用FTP服务的用户

root

bin

boot

daemon

digital

field

gateway

guest

nobody

operator

ris

sccs

sys

uucp

限制这些用户使用FTP服务器主要是基于系统安全的考虑,避免权利过大的用户(如root、ftpadm)登录FTP服务器和避免使用系统命令作为帐号(如shutdown、sync),以避免系统管理上的困惑。

我们可以根据自己使用的需要,向该文件中增加或删除用户并将它复制到/etc目录中。

如果我们要架设的是匿名FTP服务器,那么通常不需要设置ftphosts文件,对于其它类型的FTP服务器可以参考examples/ftphosts文件的格式结合自己的情况加以修改,然后复制到/etc目录中即可。

下面是examples/ftphosts文件,该文件允许网络somehost.domain中的用户ftp访问FTP服务器(somehost.domain可以是IP地址或域名)而禁止网络otherhost.domain和网络

#

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

#allow

#deny

#

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

#

allowftpsomehost.domain

denyfredotherhost.domain

配置/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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2