Wu-ftpd是Internet上最流行的FTP守护程序。Wu-ftpd功能十分强大,能够构建多种类型FTP服务器。Wu-ftpd菜单能够帮助用户轻松地实现对FTP服务器的配置:支持构造安全方式的匿名FTP的访问,能够控制同时访问的用户的数量,限制能够容许访问的IP网段,并能够在一台主机上设置多个虚拟目录。Wu-ftpd有三种注册方式:匿名FTP、实际用户FTP以及guestFTP。匿名FTP使用用户名“anonymous”和一个email类型的口令进行注册。php
Wu-ftpd发布较早。在最新版本(2.6.2)里,其已经对最为人担忧的系统安全性问题作了完善的修正,所以仍是Ftp Server中的主流。下列是Wu-ftpd的一些功能:html
安装Wu-ftpd有两种方式,一种是安装RPM形式的发布包;另一种方式是本身动手去编译生成。下面分别介绍这两种安装方式的步骤。linux
1.RPM包安装方式安全
该安装包能够在RPMfind上下载获得。以RPM包方式安装很是简单,只要执行下面简单的几个步骤就能够完成:服务器
//将下载获得的rpm包存放在/tmp目录下 #cp wu-ftpd-2.6.2-8.i386.rpm /tmp //切换目录 #cd /tmp //进行安装 #rpm -ivh wu-ftpd-2.6.2-8.i386.rpm
2.源代码安装方式session
压缩的源代码能够在Wu-ftpd官网处获得。目前网上的最新版本为:wu-ftpd-2.6.2.tar,下面是安装步骤:app
//将压缩的源代码拷贝到/usr/src目录下 # cp wu-ftpd.2.6.2.tar.gz /usr/src //对压缩文档进行解压缩 #tar xvfz wu-ftpd.2.6.2.tar.gz //切换目录 #cd wu-ftpd-2.6.2 //配置 #./configure //编译 #make #make install
在安装好Wu-ftpd服务器后,就能够用默认配置启动使用该服务器了。一般来讲,启动该服务器有两种方式:使用xinetd以及命令行启动。下面首先分别介绍这两种启动方式,而后经过例子说明使用该服务器的过程。socket
1.xinetd启动方式tcp
使用该启动方式,只要在/etc/xinetd.d目录下配置wu-ftpd文件便可,以下步骤所示:ide
#vi wu-ftpd //使用vi编辑wu-ftpd文件 //编辑内容以下 # default: on /默认/系统启动时同时启动该服务器 # description: The wu-ftpd FTP server serves FTP connections. It uses \ # normal, unencrypted usernames and passwords for authentication. service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l -a log_on_success += DURATION USERID log_on_failure += USERID nice = 10 } #service xinetd restart //从新启动xientd服务,以使改动生效
2.命令行方式启动
使用命令行启动该服务器很是简单,以下所示命令:
#/usr/sbin/ftpshut //首先关闭该服务 #/usr/sbin/ftprestart //而后从新启动
接下来,咱们将经过具体的例子说明Wu-ftpd服务器的使用方法。
本小节经过具体的例子来讲明如何使用Wu-ftpd服务器。
(1)使用匿名用户登陆服务器
该步骤使用用户名Anonymous进行FTP登陆,密码能够随便输入,通常状况下Wu-FTP服务器都会经过,这也是大多数Wu-FTP服务器的默认登陆方式。
#ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 aserver FTP server (Version wu-2.6.2) ready. Name (127.0.0.1:root): anonymous 331 Guest login ok, send your complete e-mail address as password. Password: 230 Guest login ok, access restrictions apply.
(2)浏览匿名用户登陆到服务器的目录
该步骤测试使用匿名用户登陆Wu-FTP服务器后的浏览状况,即匿名用户登陆后可以看到的FTP服务器资源的视图。在通常状况下,匿名用户只具备很是有限的资源视图,于是级别较低。若是须要提高权限的话,须要针对匿名用户进行配置。
ftp> ls 227 Entering Passive Mode (127,0,0,1,101,144) 150 Opening ASCII mode data connection for directory listing. total 40 d--x--x--x 2 root root 4096 Jun 13 2002 bin d--x--x--x 2 root root 4096 Jul 22 2002 etc drwxrwxrwx 10 14 50 4096 Oct 10 2003 incoming drwxr-xr-x 2 root root 4096 Jun 13 2002 lib drwxrwxrwx 2 root 50 4096 Nov 8 2002 pub 226 Transfer complete. ftp> cd pub 250 CWD command successful. ftp> ls 227 Entering Passive Mode (127,0,0,1,140,149) 150 Opening ASCII mode data connection for directory listing. total 18008 -rw-r--r-- 1 root root 9203662 Oct 7 2002 stack.ots.20021006.tgz 226 Transfer complete.
(3)测试创建目录权限,操做失败,匿名用户没有该权限
该步骤进一步测试匿名用户所具备的权限。经过此操做不难看到,在匿名用户创建目录时,服务器返回失败,进一步证实了匿名用户通常状况下只具备读的权限,而不具备写的权限。
ftp> mkdir super 550 super: Permission denied on server. (Upload dirs) ftp> cd incoming 550 incoming: No such file or directory. ftp> cd .. 250 CWD command successful. ftp> ls 227 Entering Passive Mode (127,0,0,1,164,206) 150 Opening ASCII mode data connection for directory listing. total 40 d--x--x--x 2 root root 4096 Jun 13 2002 bin d--x--x--x 2 root root 4096 Jul 22 2002 etc drwxrwxrwx 10 14 50 4096 Oct 10 2003 incoming drwxr-xr-x 2 root root 4096 Jun 13 2002 lib drwxrwxrwx 2 root 50 4096 Nov 8 2002 pub 226 Transfer complete.
(4)进入指定目录,准备测试下载文件功能
该步骤测试Wu-FTP服务器的下载文件功能。对于匿名用户来讲,最多见的一个功能就是下载文件,从而说明FTP服务器的最大的功效就是文件和资源共享。
ftp> cd incoming 250 CWD command successful. ftp> dir 227 Entering Passive Mode (127,0,0,1,22,51) 150 Opening ASCII mode data connection for directory listing. total 112936 -rw-rw-rw- 1 14 50 47104 Aug 26 2002 1.rtf -rw-rw-rw- 1 14 50 4812 Aug 28 2002 LiveTri.zip drwxrwxrwx 3 4095 root 4096 Dec 14 2002 RA -rw-rw-rw- 1 14 50 672 Oct 30 2002 a -rw-r--r-- 1 root root 38754436 Oct 30 2002 linux-2.4.18.tar.gz drwxrwxrwx 2 root root 4096 Nov 26 2002 package drwxrwxrwx 2 4095 root 4096 Jul 29 2002 public_module -rw-rw-rw- 1 14 50 1968255 Oct 30 2002 rfc2616.pdf drwxrwxrwx 3 4095 root 4096 Aug 2 2002 sample_log -rw-r--r-- 1 root root 6506 Jul 28 2002 sendpacket.tar.gz drwxrwxr-x 11 510 510 4096 Oct 17 2002 stack -rw-rw-rw- 1 14 50 0 Jul 24 2002 tcpip drwxrwxrwx 4 4095 root 4096 Aug 23 2002 temp -rw-rw-rw- 1 14 50 0 Aug 22 2002 test.doc 226 Transfer complete. //以下操做说明下载文件test.doc操做成功 ftp> get test.doc local: test.doc remote: test.doc 227 Entering Passive Mode (127,0,0,1,7,193) 150 Opening ASCII mode data connection for test.doc (0 bytes). 226 Transfer complete. //经过以下操做浏览下载到本地的文件,发现test.doc已经下载在其中 ftp> !ls chargen cvspserver daytime-udp echo-udp ntalk qmail-pop3 rexec rsh sgi_fam telnet time wu-ftpd chargen-udp daytime echo finger pop3 qmail-smtp rlogin rsync talk test.doc time-udp ftp> put wu-ftpd local: wu-ftpd remote: wu-ftpd 227 Entering Passive Mode (127,0,0,1,202,89) 150 Opening ASCII mode data connection for wu-ftpd. 226 Transfer complete. 376 bytes sent in 0.00011 secs (3.3e+03 Kbytes/sec)
(5)测试删除权限,操做失败
最后一个步骤来测试匿名用户对于Wu-FTP服务器中共享资源的删除权限情况。实验证实,匿名用户通常不具备删除权限,不然会成为巨大的安全隐患,共享的资源随时都会有被删除的危险,于是须要对该权限实行禁用。
ftp> delete wu-ftpd 553 wu-ftpd: Permission denied on server. (Delete) ftp> bye 221-You have transferred 361 bytes in 2 files. 221-Total traffic for this session was 1873 bytes in 2 transfers. 221 Thank you for using the FTP service on aserver.