服务器 频道

用LINUX架设FTP服务器

  1.2 wu-Ftpd的安装

  当前,Linux环境下有许多ftp服务器软件可供选择,但是目前最常见的仍然是wu-Ftpd服务器。这里主要讨论该软件的安装和配置。

  一般来说,在安装了linux时,缺省都会自动安装wu-ftpd服务器,但是有时候为了某种需要也需要自己亲自重新安装该服务器软件。安装wu-Ftpd有两方式,一种是安装rpm形式的发布包;一种是自己动手去编译生成Ftp服务器。

  rpm包可以在http://rpmfind.net/linux/RPM/WByName.html处下载得到,以rpm包方式安装非常简单,只需要在按下面的简单的几个步骤就可以完成,假设下载得到的rpm包存放在/tmp目录下:

  #cd /tmp

  #rpm -ivh wu-ftpd-1.6.0-9.i386.rpm

  压缩的源代码可以在ftp://ftp.wu-ftpd.org/pub/wu-ftpd/出得到。这里我们以最新的1.6.0为例说明如何编译安装wu-ftpd。

  1、解开源代码

  1) 将压缩的源代码拷贝到/usr/src下

  #cp wu-ftpd.1.6.0.tar.gz /usr/src

  2) 对压缩文档进行解压缩:

  #tar xvfz wu-ftpd.1.6.0.tar.gz

  #cd wu-ftpd-1.6.0

  2、敲入命令 "./build xxx" ,可以在这里指定一个C语言编译器:"./build CC=yyy xxx" yyy 指用来替代 "cc" 的其他的编译器。对于linux环境下的gcc编译器,命令应该为:"./build CC=gcc xxx"

  #build CC=gcc lnx

  xxx可以取下面的值:

  gen : 通用make(当移植到心得系统时需要拷贝它)

  aix : IBM AIX

  aux : AU/X

  bdi : BSD/OS

  bsd : BSD

  dec : DEC Unix 3.X

  du4 : DEC Unix 4.X or later

  dyn : Dynix

  fbs : FreeBSD 1.0 or later

  hiu : Hitachi Unix

  hpx : HP-UX

  lnx : Linux (tested on 1.0.30)

  nbs : NetBSD 1.X

  nx2 : NeXTstep 1.x

  nx3 : NeXTstep 3.x

  osf : OSF/1

  osx : Mac OS X

  ptx : ???

  sco : SCO Unix 3.2v4.2/SCO OpenServer 5

  sgi : SGI Irix 4.0.5a

  sny : Sony NewsOS

  sol : SunOS 5.x / Solaris 1.x

  s41 : SunOS 4.1.x

  ult : Ultrix 4.x

  uxw : UnixWare 1.1 or later

  clean : Clean up object files and such to reduce disk space after building.

  install: Install ftpd

  Copying Makefiles.

  Linking src/config.h

  Making support library.

  gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c strcasestr.c

  gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c authuser.c

  gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c snprintf.c

  rm -f libsupport.a

  ar cq libsupport.a strcasestr.o authuser.o snprintf.o

  ranlib libsupport.a

  : : :

  : : :

  : : :

  编译成功以后将生成如下几个可执行文件:

  ftpd FTP服务器程序

  ftpshut 用于关闭FTP守护进程的程序

  ftpcount 记数程序,显示目前ftp登录的人数

  ftpwho 查看当前FTP服务器的连线情况,类似与系统的who命令,只不过是查看ftp登录的用户

  ckconfig 检查FTP的设置是否正确

  ftprestart 重新启动ftp服务器

  privatepw 改变wu_ftpd组访问文件信息

  3、若只是升级到一个新的版本,应该首先备份系统所有的旧的配置文件。否则这些配置文件将被覆盖。为了适应自己的需求,应当编辑样本配置文件来满足自己的要求,具体配置文件的需求参见后面的内容。

  4、以超级用户身份敲入命令"./build install"

  #build install

  installing binaries.

  install -c -o bin -g bin -m 110 bin/ftpd /usr/sbin/in.ftpd

  install -c -o bin -g bin -m 111 bin/ftpshut /usr/bin/ftpshut

  install -c -o bin -g bin -m 111 bin/ftprestart /usr/bin/ftprestart

  install -c -o bin -g bin -m 111 bin/ftpcount /usr/bin/ftpcount

  install -c -o bin -g bin -m 111 bin/ftpwho /usr/bin/ftpwho

  install -c -o bin -g bin -m 111 bin/privatepw /usr/bin/privatepw

  installing manpages.

  install -c -o bin -g bin -m 444 doc/ftpcount.1 /usr/man/man1/ftpcount.1

  install -c -o bin -g bin -m 444 doc/ftpwho.1 /usr/man/man1/ftpwho.1

  install -c -o bin -g bin -m 444 doc/ftpaccess.5 /usr/man/man5/ftpaccess.5

  install -c -o bin -g bin -m 444 doc/ftpconversions.5 /usr/man/man5/ftpconversio5

  install -c -o bin -g bin -m 444 doc/ftphosts.5 /usr/man/man5/ftphosts.5

  install -c -o bin -g bin -m 444 doc/xferlog.5 /usr/man/man5/xferlog.5

  install -c -o bin -g bin -m 444 doc/ftpd.8 /usr/man/man8/ftpd.8

  5、编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,大多数情况下,这一步是不必的,因为在build install时,会将新的守护进程拷贝覆盖老的守护进程。若希望使用ftpd的增强的扩展功能,应该在这行最后加上"-a"选项。

  ftpd守护进程一般可以携带如下参数,也可以不带任何参数:

  -d debug参数,当ftpd守护进程出现错误时,会将错误信息写入到系统记录文件/usr/adm/syslog中

  -l 记录每次ftp会话信息到/usr/adm/messages中

  -t 设置当FTP客户端多久无操作就自动断线,这个参数后面指定等待的时间,如 -t 600 表示若客户

  端若连续10分钟没有动作就自动断线,缺省值是15分钟

  -a 使用ftpaccess配置文件内容对ftpd进行更详细复杂的设置

  -A 不使用ftpaccess配置文件的设置,缺省值是-A

  -i 当客户端有上载文件的动作时,就记录在文件xferlog中

  -L 使用户连接ftp服务器期间使用的所有命令都被记录到/usr/adm/messages中

  6、拷贝tar、gzip、gunzip、compress、uncompress等文件到 "~ftp/bin"中,拷贝"ls"为"~ftp/bin/ls"。

  7、若是第一次安装,使用"ckconfig"程序查找ftpd的各种配置文件存放目录:ftpconversions、ftpusers、和ftpgroups。在"doc/examples"目录下有样本文件。"ckconfig"是一个可执行程序,确保修复该程序检测到的任何问题。

0
相关文章