当前位置:操作系统 > Unix/Linux >>

如何把wu-ftp换成proftp

Copyright 2001 OLS3,本讲义仅供教育人员参考,任何引用,请先取得作者的同意.

  Email: ols3@www.tnc.edu.tw

  网站: http://www.ols3-cgi.com 或 http://www.perl.ms 卧龙小三CGI天堂

  或

  http://perl.tnc.edu.tw/

  注意! 本文件编写时, proftpd 的版本是 1.2.0rc2, 不过, 目前您至少要用 1.2.0rc3 以上的版本才好! 建议用 1.2.2rc1 ! (04/14/2001)

  一. Say something ....

  虽然,目前,大多数站台的 FTP 服务,以采用 WU-FTPD 伺服器程式架设者居多,而且WU-FTPD 在效能上,一直有不错的表现,程式版本更新的速度也不慢,不过,它却不是一个够安全的系统,(我手头上至少有十数程式是用来攻击 WU-FTPD 的),过去以来,它一直有着一段很不名誉的安全漏史。

  因此之故,许多网管人员总是想把 WU-FTPD 换掉.......

  如果您想找一个不错的 FTP 伺服程式来取代 WU-FTPD,试试 ProFTPD 吧!

  ProFTPD 的发展,一开始,便是定位在:成为一个安全且容易设定的 FTP 伺服器程式。

  虽然目前使用 ProFTPD 的站台数量 ,不比 WU-FTPD 多,但它的风格及表现,却深得许多网管人员的喜爱。

  以下是 ProFTPD 的特点:

  单一设定档,设定风格接近 Apache 设定档

  每一目录可用 .ftpaccess 来控制(类似 Apache 的 .htaccess)

  易於设定多重虚拟主机以及匿名FTP

  可让管理人员选择 standalone 或 inetd 的执行方式

  匿名FTP不需要额外的目录结构

  原始码开放,没有 SITE EXEC 指令,安全性可受监控

  根据系统档案权限,可隐藏目录或档案

  以较低权限的身份来执行,降低万一被攻入的危险

  记录档支援 utmp/wtmp,并和 wu-ftpd 相容,记录格式也可扩充

  支援 shadow password

  二. 开始安装吧!

  先移除匿名 FTP

  rpm -e anonftp

  再移除 WU-FTPD

  rpm -e wu-ftpd

  * 请放心,您放在 /home/ftp/pub 下的档案,不会不见啦!

  (除非您是新装 WU-FTPD 而 /home/ftp/pub 尚未放入任何档案)

  ProFTPD 下载区

  ftp://ftp.tnc.edu.tw/pub/Sysop/FTP

  或

  http://www.profptd.net

  选择 ProFTPD 的下载版本

  共有三种情况,各有二种安装方式:standalone 或 inetd

  a. 若您是 RedHat 6.1 + CLE 0.9 以前

  若您打算采用 standalone 的执行方式,请抓取 proftpd-core-1.2.0pre10-1CLE.i386.rpm 及 proftpd-standalone-1.2.0pre10-1CLE.i386.rpm

  若您打算采用 inetd 的执行方式,请抓取 proftpd-core-1.2.0pre10-1CLE.i386.rpm 及 proftpd-inetd-1.2.0pre10-1CLE.i386.rpm

  b. 若您是 RedHat 6.2 + CLE 0.9p1-1

  若您打算采用 standalone 的执行方式,请抓取 proftpd-core-1.2.0rc2-2CLE.i386.rpm 及 proftpd-standalone-1.2.0rc2-2CLE.i386.rpm

  若您打算采用 inetd 的执行方式,请抓取 proftpd-core-1.2.0rc2-2CLE.i386.rpm 及 proftpd-inetd-1.2.0rc2-2CLE.i386.rpm

  c. 若您是 RedHat 英文版

  请抓取 proftpd-1.2.0rc2-2.i386.rpm 或 proftpd-1.2.0rc2.tar.gz

  安装 ProFTPD

  (1) RedHat 6.1 + CLE 0.9 + standalone执行方式

  rpm -ivh proftpd-core-1.2.0pre10-1CLE.i386.rpm

  (或 rpm -ivh proftpd-core*.rpm)

  rpm -ivh proftpd-standalone-1.2.0pre10-1CLE.i386.rpm

  (或 rpm -ivh proftpd-standalone*.rpm)

  (2) RedHat 6.1 + CLE 0.9 + inetd 执行方式

  rpm -ivh proftpd-core-1.2.0pre10-1CLE.i386.rpm

  (或 rpm -ivh proftpd-core*.rpm)

  rpm -ivh proftpd-inetd-1.2.0pre10-1CLE.i386.rpm

  (或 rpm -ivh proftpd-inetd*.rpm)

  (3) RedHat 6.2 + CLE 0.9p1-1 + standalone执行方式

  rpm -ivh proftpd-core-1.2.0rc2-2CLE.i386.rpm

  (或 rpm -ivh proftpd-core*.rpm)

  rpm -ivh proftpd-standalone-1.2.0rc2-2CLE.i386.rpm

  (或 rpm -ivh proftpd-standalone*.rpm)

  (4) RedHat 6.2 + CLE 0.9p1-1 + inetd 执行方式

  rpm -ivh proftpd-core-1.2.0rc2-2CLE.i386.rpm

  (或 rpm -ivh proftpd-core*.rpm)

  rpm -ivh proftpd-inetd-1.2.0rc2-2CLE.i386.rpm

  (或 rpm -ivh proftpd-inetd*.rpm)

  (5) RedHat 英文版

  rpm -ivh proftpd-1.2.0rc2-2.i386.rpm

  或

  tar xvzf proftpd-1.2.0rc2.tar.gz

  cd proftpd-1.2.0rc2

  ./configure --enable-shadow

  make

  make install

  ProFTPD 设定档的位

  用 RPM 档安装的 ProFTPD 设定档在 /etc/proftpd.conf

  若您是抓 tar.gz 档回来安装的,则设定档在 /usr/local/etc/proftpd.conf

  设定 ProFTPD

  以下是 proftpd.conf 的设定例(采用 standalone):

  # This is a basic ProFTPD configuration file (rename it to

  # 'proftpd.conf' for actual use. It establishes a single server

  # and a single anonymous login. It assumes that you have a user/group

  # "nobody" and "ftp" for normal operation and anon.

  # ServerName : 设定您的站台名称

  ServerName "OLS3.com"# ServerType : 设定 ProFTPD 的执行方式,可以是 standalone 或 inetd

  ServerType standalone# DefaultServer 用来设定 unknown 的连接是否由预设的主机来处理

  DefaultServer on

  # Port 21 is the standard FTP port.

  # Port 21 是 FTP 标准的通道

  Port 21

  # Umask 022 is a good standard umask to prevent new dirs and files

  # from being group and world writable.# 档案安全滤网值设为 022

  Umask 022

  # To prevent DoS attacks, set the maximum number of child processes

  # to 30. If you need to allow more than 30 concurrent connections

  # at once, simply increase this value. Note that this ONLY works

  # in standalone mode, in inetd mode you should use an inetd server

  # that allows you to limit maximum number of processes per service

  # (such as xinetd)# 可避免 DoS 攻击的设定(只限standalone的执行方式)

  MaxInstances 30

  # Set the user and group that the server normally runs at.# 执行时的身份/组别权限

  User nobody

  Group nobody

  # Normally, we want files to be overwriteable.

  AllowOverwrite on

  # A basic anonymous configuration, no upload directories.# 以下是匿名 FTP 的设定

  User ftp

  Group ftp

  AnonRequirePassword off

  RequireValidShell off

  # We want clients to be able to login with "anonymous" as well as "ftp"

  UserAlias anonymous ftp

  # Limit the maximum number of anonymous logins

  MaxClients 10

  # We want 'welcome.msg' displayed at login, and '.message' displayed

  # in each newly chdired directory.

  DisplayLogin welcome.msg

  DisplayFirstChdir .message

  # Limit WRITE everywhere in the anonymous chroot

  DenyAll

  修改 /etc/inetd.conf

  若您打算采用 standalone 的方式来执行,则,尚需修改 /etc/inetd.conf

  将其中的 ftp 设定关掉,即:

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

  改成

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

  启动 ProFTPD

  /etc/rc.d/init.d/proftpd start

  采用 inetd 执行时的设定方式 (我喜欢用这种模式,但你不必非得和我一样)

  # This is a basic ProFTPD configuration file (rename it to

  # 'proftpd.conf' for actual use. It establishes a single server

  # and a single anonymous login. It assumes that you have a user/group

  # "nobody" and "ftp" for normal operation and anon.

  # ServerName : 设定您的站台名称

  ServerName "OLS3.com"# ServerType : 设定 ProFTPD
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,