科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道用Linux架设FTP服务器(1)

用Linux架设FTP服务器(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

使用文件传输协议(FTP)来通过网络在计算机之间传输文件是很普遍的一种方法。几乎在所有的平台上面都有FTP 的客户端和服务端的软件,因此用FTP来传送文件也是很方便的一个方法。

作者:巧巧读书 来源:巧巧读书 2008年6月23日

关键字: 网吧 网吧组网 网吧服务器架设

  • 评论
  • 分享微博
  • 分享邮件

  概述

  使用文件传输协议(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]# cp wu-ftpd-version.tar.gz /var/tmp

  [root@deep]# cd /var/tmp

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

  编译和优化

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

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

  #if defined (LINUX)

  改为:

  #if defined (LINUX_BUT_NOT_REDHAT_6_0)

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

  #define _PATH_EXECPATH "/bin/ftp-exec"

  改为:

  #define _PATH_EXECPATH "/usr/bin/ftp-exec"

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

  先设置编译器的编译参数:

  CC="egcs"

  CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-

  pointer -fno-exceptions"

  ./configure

  --prefix=/usr

  --sysconfdir=/etc

  --localstatedir=/var

  --disable-dnsretry

  --enable-quota

  --enable-pam

  --disable-daemon

  --disable-newlines

  --disable-virtual

  --disable-plsm

  --disable-pasvip

  --disable-anonymous

  --enable-ls

  --enable-numericuid

  这些编译参数告诉编译器如何编译wu-ftpd:

  不要用失败的DNS查询

  加入对定额(QUOTA)的支持(如果OS支持)

  加入对PAM的支持

  不允许作为单独的daemon运行

  删除过多的空行

  不支持虚拟服务器

  禁止PID加锁睡眠消息(用于繁忙的站点)

  被动连接的时候不要求用同样的IP

  不允许匿名ftp访问

  使用内部的“ls”命令(试验性的)

  内部的“ls”命令显示UID而不显示用户名(为了提高速度)

  用下面的命令编译和安装软件:

  make

  make install

  install -m 755 util/xferstats /usr/sbin

  touch /var/log/xferlog

  chmod 600 /var/log/xferlog

  cd /usr/sbin

  ln -sf in.ftpd /usr/sbin/wu.ftpd

  ln -sf in.ftpd /usr/sbin/in.wuftpd

  strip /usr/bin/ftpcount

  strip /usr/bin/ftpwho

  strip /usr/sbin/in.ftpd

  strip /usr/sbin/ftpshut

  strip /usr/sbin/ckconfig

  strip /usr/sbin/ftprestart

  上面的“make”和“make install”可以配置软件以保证系统中有编译所需要的函数库,然后把所有的源文件都编译成可执行的二进制文件,最后把二进制文件和配置文件安装到相应的目录里。

  “install –m”安装“xferstats”程序,用于统计传输了多少文件。“touch”命令为xferstats在“/var/log”目录下创建日志文件。“chomod”把“xferlog”的权限改为只对超级用户“root”可读和可写。接着,我们为“in.ftpd”二进制文件创建符号链接。最后,用“strip”命令减小所有二进制文件的大小以提高wu-ftpd的性能。

  清除不必要的文件

  [root@deep]# cd /var/tmp

  [root@deep]# rm -rf wu-ftpd-version/ wu-ftpd-version.tar.gz

  “rm”命令删除所有编译和安装wu-ftpd所需要的源程序,并且把wu-ftpd软件的压缩包删除掉。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章