Linux下搭建Ftp服务器.docx

上传人:b****6 文档编号:3193577 上传时间:2022-11-20 格式:DOCX 页数:10 大小:20KB
下载 相关 举报
Linux下搭建Ftp服务器.docx_第1页
第1页 / 共10页
Linux下搭建Ftp服务器.docx_第2页
第2页 / 共10页
Linux下搭建Ftp服务器.docx_第3页
第3页 / 共10页
Linux下搭建Ftp服务器.docx_第4页
第4页 / 共10页
Linux下搭建Ftp服务器.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Linux下搭建Ftp服务器.docx

《Linux下搭建Ftp服务器.docx》由会员分享,可在线阅读,更多相关《Linux下搭建Ftp服务器.docx(10页珍藏版)》请在冰豆网上搜索。

Linux下搭建Ftp服务器.docx

Linux下搭建Ftp服务器

概述

  使用文件传输协议(FTP)来通过网络在计算机之间传输文件是很普遍的一种方法。

几乎在所有的平台上面都有FTP的客户端和服务端的软件,因此用FTP来传送文件也是很方便的一个方法。

  有很多配置FTP服务器的不同方法。

其中一种是把FTP配置成只对系统中的用户开放的私有服务器,这也是FTP的默认配置。

一个私有的FTP服务器只运行系统中的用户访问,而且可以对用户进行访问控制,这样可以给予或拒绝特定用户的访问权限。

  另一种是把FTP服务器配置成匿名服务器。

匿名FTP服务器允许任何人(不管有没有帐号)访问服务器并传输文件。

因为可能存在潜在的安全问题,必须小心配置使得只允许访问系统中特定的目录。

在这一节里,我们把FTP配置成“chrooted”的方式,这种配置运行用户访问,例如:

Web站点的目录,但是不允许他们访问更高一层的目录。

  注意事项

  下面所有的命令都是Unix兼容的命令。

  源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。

  安装在RedHatLinux6.1下测试通过。

  要用“root”用户进行安装。

  wu-ftp的版本号是2.6.0。

  编译和安装

  把软件包(tar.gz)解压缩:

  [root@deep]#cpwu-ftpd-version.tar.gz/var/tmp

  [root@deep]#cd/var/tmp

  [root@deep]#tarxzpfwu-ftpd-version.tar.gz

  编译和优化

  转到wu-ftpd的新目录下,运行下面的命令:

  编辑“ftpcount.c”文件(vi+241src/ftpcount.c),改变下面这一行:

  #ifdefined(LINUX)

  改为:

  #ifdefined(LINUX_BUT_NOT_REDHAT_6_0)

  编辑“pathnames.h.in”文件(vi+42src/pathnames.h.in),改变下面这一行:

  #define_PATH_EXECPATH"/bin/ftp-exec"

  改为:

  #define_PATH_EXECPATH"/usr/bin/ftp-exec"

  我们把“ftp-exec”从“/bin”目录改到“/usr/bin”目录下。

message

  “message”设置当用户登录或转到一个目录的时候会收到什么消息。

可以设定多个消息。

命令的格式为:

  message<path><when>

  <path>表示需要显示的文件的完整路径名,<when>和“readme”中的<when>意思一样。

  还需要注意的是消息文件的路径名也是相对于匿名ftp目录的。

  例如:

  message/home/ftp/.welcome.msgLOGIN

  compress、tar、chmod、delete、overwrite、rename

  如果这些都不设置,那么就使用默认值,也就是对所有人都是“yes”。

下面例子中的设置的意思是给guest组chmod、delete、overwrite和rename文件的权力,所有人都可以使用compress和tar。

  例如:

  compressyesall

  taryesall

  chmodyesguest

  deleteyesguest

  overwriteyesguest

  renameyesguest

  logcommands

  因为安全上的原因需要记录用户使用的每一个命令。

“logcommands”的格式是:

  logcommands<typelist>

  <typelist>是用逗号隔开的字串,表示哪些用户的命令需要记录下来,字串的取值可以是:

anonymous、guest或real。

  例如:

要记录real和guest用户的每一个命令,可以这么表示:

  logcommandsreal,guest

  这些记录都保存在“/var/log/message”文件中。

  logtransfers

  因为安全文件需要把文件的传输都记录下来。

“logtransfers”的格式是:

  logtransfers<typelist><directions>

  <typelist>是用逗号隔开的字串,表示哪些用户的命令需要记录下来,字串的取值可以是:

anonymous、guest或real。

<direction>也是用逗号隔开的字串,设置需要记录的文件传输的方向,可以选择的两个传输方向是“inbound”(向内)和“outbound”(向外)。

[page]

例如,用下面表示记录所有real和guest用户的“inbound”和“outbound”方向的文件传输:

 

  logtransfersreal,guestinbound,outbound

  这些记录保存在“/var/log/xferlog”文件中。

 

  guestgroup

  这个命令用来设置guest组,每一行只能有一个成员。

  例如:

  guestgroupftpadmin

  guestgroupwebmaster

 

  logsecurity

  用来设置记录real、guest或anonymous用户违反安全规则的行为。

  logsecurity<typelist>

  <typelist>是用逗号隔开的字串,字串的取值可以是:

anonymous、guest或real。

“real”表示真正在ftp服务器上有帐号的用户,“anonymous”表示匿名用户,“guest”表示guest用户。

  例如:

  logsecurityreal,guest

  restricted-uid、restricted-gid、guest-root

  这些用来设置是否允许real和guest用户访问家目录之外的目录。

格式为:

  guest-root<root-dir>

  restricted-uid<uid-range>

  restricted-gid<gid-range>

  例如:

  guest-root/home/ftpftpadminwebmaster

  restricted-uidftpadminwebmaster

  restricted-gidadminftpwebmaster

  <root-dir>设置chroot环境的用户路径。

在一行里可以有多个uid地范围。

如果为用户设置了guest-root,那么该用户的家目录就在“<root-dir>/etc/passwd”文件中设定,而“/etc/passwd”文件中的设定是无效的。

当“ftpadmin”和“webmaster”被改变了根目录(chrooted)到“/home/ftp”目录下,他们就被限制在各自的家目录下而不能访问别人的文件。

  greeting

  设置用户登录时候的欢迎信息。

格式为:

  greetingfull|brief|terse

  “greetingfull”是默认的设置显示主机名和ftpdaemon地版本,“greetingbrief”显示主机名,“greetingterse”简单地显示“FTPserverready”。

  例如:

  greetingterse

 

  keepalive<yes|no>

  设置socket的TCPSO_KEEPALIVE参数。

这样在必要的时候可以断开网络连接。

“yes”有效,“no”无效。

最好设成“yes”:

  Keepaliveyes

[page]

配置“/etc/ftphosts”文件

  “/etc/ftphosts”文件为每一个用户建立规则,指定允许用户从某个主机登录ftp服务器,或者不允许用户从某个主机登录ftp服务器。

 

  创建“ftphosts”文件(touch/etc/ftphosts),加入下面这几行:

  #Examplehostaccessfile

  #

  #Everythingaftera‘#‘istreatedascomment,

  #emptylinesareignored

  allowftpadmin208.164.186.1208.164.186.2208.164.186.4

  把文件的权限改为600:

  [root@deep]#chmod600/etc/ftphosts

  每一行可能是:

  allow<username><addrglob>

  或

  deny<username><addrglob>

  “allow”允许用户用<username>用户名,从<addrglob>地址访问ftp服务器。

<addrglob>可以包含多个地址。

  “deny”禁止用户名为<username>的用户,从<addrglob>地址访问ftp服务器。

<addrglob>可以包含多个地址。

  配置“/etc/ftpusers”文件

  “/etc/ftpusers”文件设置哪些用户不允许连接到ftp服务器。

  创建“ftpusers”文件(touch/etc/ftpusers),加入下面这几行:

  root

  bin

  daemon

  adm

  lp

  sync

  shutdown

  halt

  mail

  news

  uucp

  operator

  games

  nobody

  把文件的权限设成600:

  [root@deep]#chmod600/etc/ftpusers

  配置“/etc/ftpconversions”文件

  “/etc/ftpconversions”是用来控制当传输文件的时候是否进行压缩。

  创建“ftpconversions”文件(touch/etc/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

  把文件的属性改为600:

  [root@deep]#chmod600/etc/ftpconversions

  配置“/etc/pam.d/ft

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

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1