FTP协议是文件传输协议,这个协议的使用也是非常平常的。那么对于这个协议的一个重要应用——FTP服务器来说,我们也是需要掌握的。所以今天我们就来介绍一下如何构建FTP服务器。
FTP服务器实现的基本功能是上传下载,下面就分几个步骤来搭建一个可以实现下载功能的简易FTP服务器。
构建FTP服务器1.安装FTP服务器
如果在安装系统时没有选择安装FTP服务器,可以通过Red Hat 9.0中的“添加/删除应用程序”工具进行安装。具体方法是,选择“主选单”→“系统设置”→“添加/删除应用程序”,在弹出的界面中选中FTP服务器,单击“更新”即可。
如果无法确认是否安装了该软件,可以使用以下命令查看:
#rpm -qa|grep vsftpd
vsftpd-1.1.3-8
构建FTP服务器2.启动FTP服务器
套用Red Hat 9.0的预设范例直接启动VSFTP。
# /sbin/service vsftpd start
为vsftpd启动vsftpd: [确定]
构建FTP服务器3.在/var/ftp/pub目录下创建一个名为test.txt的文件,文件内容为“This is a test file”。
构建FTP服务器4.测试
使用FTP客户端登录到本地服务器,然后以匿名身份(anonymous)登录:
# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.1.3)
Name (127.0.0.1:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
这样就成功地登录到FTP服务器。可以显示服务器目录列表如下:
ftp> ls
227 Entering Passive Mode (127,0,0,1,63,15)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Dec 04 01:35 pub
226 Directory send OK.
切换到pub目录下,并显示目录内容,可以找到刚才创建的文件test.txt:#p#
ftp> cd pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (127,0,0,1,232,34)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 21 Dec 04 01:35 test.txt
226 Directory send OK.
下载test.txt文件:
ftp> mget test.txt
mget test.txt? y
227 Entering Passive Mode (127,0,0,1,186,210)
150 Opening BINARY mode data connection for test.txt (21 bytes).
226 File send OK.
21 bytes received in 0.0108 secs (1.9 Kbytes/sec)
查看本机目录内容,可以看到test.txt已成功下载到本机。
ftp> !ls
aEIO_Binders initrd mnt proc tftpboot ylg.txt
bin etc libmymnt root tmp
boot homelost+found myshare sbin usr
dev id_dsas.pub misc opt test.txt var
尝试上传名为ylg.txt的文件,可以看到请求被拒绝了。
ftp> put ylg.txt
local: ylg.txt remote: ylg.txt
227 Entering Passive Mode (127,0,0,1,243,10)
550 Permission denied.
退出登录:
ftp> bye
221 Goodbye.
由构建FTP服务器的测试可以看出,已经可以下载文件,但不能上传文件(也不能在服务器上创建目录和文件)。实际上这是一个专门提供下载服务的匿名FTP服务器。
从上面的步骤可以看出,并不需要做什么配置就可以完成一个简易FTP服务器的架设。这是因为Red Hat已经配置好一个缺省的FTP服务器。不过在实际应用中,大部分情况下这个简易的服务器并不能满足需求。