<b>实战:用Linux构建高效FTP服务器</b>[服务器安全]
本文“<b>实战:用Linux构建高效FTP服务器</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在众多网络利用中,FTP(文件传输协议)有着非常重要的地位.Internet中一个非常重要的资源就是软件资源,而各种各样的软件资源大大都都放在FTP服务器中.与大大都Internet服务一样,FTP也是一个客户机/服务器系统.用户通过一个支持FTP协议的客户机程序,衔接到主机上的FTP服务器程序.用户通过客户机程序向服务器程序发出号令,服务器程序履行用户发出的号令,并将履行后果返回给客户机.
FTP服务可以按照服务对象的差别分为两类:系统FTP服务器只答应系统上的合理用户利用;匿名FTP服务器(Anonymous FTP Server)答应任何人登录到FTP服务器去获得文件.
FTP的数据传输情势针对FTP数据衔接而言,分为主动传输情势、被动传输情势和单端口传输情势三种.
1.主动传输情势
当FTP的掌握衔接成立,客户提出目录列表、传输文件时,客户端发出PORT号令与服务器举行协商,FTP服务器利用一个尺度端口20作为服务器端的数据衔接端口(ftp-data),与客户成立数据衔接.端口20只用于衔接源地址是服务器端的情形,并且端口20没有监听进程来监听客户恳求.
在主动传输情势下,FTP的数据衔接和掌握衔接方向相反,由服务器向客户端发动一个用于数据传输的衔接.客户端的衔接端口由服务器端和客户端通过协商肯定.
2.被动传输情势
当FTP的掌握衔接成立,客户提出目录列表、传输文件时,客户端发送PASV号令使服务器处于被动传输情势,FTP服务器等候客户与其接洽.FTP服务器在非20端口的别的数据传输端口上监听客户恳求.
在被动传输情势下,FTP的数据衔接和掌握衔接方向一致,由客户端向服务器发动一个用于数据传输的衔接.客户端的衔接端口是发动该数据衔接恳求时利用的端口.当FTP客户在防火墙之外拜候FTP服务器时,需求利用被动传输情势.
3.单端口情势
除上述两种情势之外,还有一种单端口情势.该情势的数据衔接恳求由FTP服务器发动.利用该传输情势时,客户端的掌握衔接端口和数据衔接端口一致.因为这种情势无法在短时间持续输入数据、传输号令,因此并不常用.
Linux下有很多可用的FTP服务器,此中对比风行的有WU-FTP(Washington University FTP)和VSFTP.Red Hat 8.0中自带了WU-FTP和VSFTP两个软件.WU-FTP是一个闻名的FTP服务器软件,它功效强盛,可以很好地运行于众多Unix操作系统中.不过作为后起之秀的VSFTP越来越风行,在Red Hat 9.0发行版中就只带有VSFTP.
VSFTP中VS的意思是“Very Secure”.从名称可以看出,从一开始,软件的编写者就非常注重其安全性.除与生俱来的安全性外,VSFTP还具有高速、安定的性能特点.在安定性方面,VSFTP可以在单机(非集群)上支持4000个以上的并发用户同时衔接.据ftp.redhat.com的数据,VSFTP最多可以支持15000个并发用户.
快速构建FTP服务器
FTP服务器实现的基本功效是上传下载,下面就分几个步骤来搭建一个可以实现下载功效的简易FTP服务器.
1.安装FTP服务器
假如在安装系统时没有挑选安装FTP服务器,可以通过Red Hat 9.0中的“增添/删除利用程序”工具举行安装.具体办法是,挑选“主选单”→“系统设置”→“增添/删除利用程序”,在弹出的界面中选中FTP服务器,单击“更新”便可.
假如无法确认能否安装了该软件,可以利用以下号令查看:
#rpm -qa|grep vsftpd
vsftpd-1.1.3-8
2.启动FTP服务器
套用Red Hat 9.0的预设典范直接启动VSFTP.
# /sbin/service vsftpd start
为vsftpd启动vsftpd: [肯定]
3.在/var/ftp/pub目录下成立一个名为test.txt的文件,文件内容为“This is a test file”.
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:
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
a EIO_Binders initrd mnt proc tftpboot ylg.txt
bin etc lib mymnt root tmp
boot home lost+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服务器的架设.这是因为Red Hat已经配置好一个缺省的FTP服务器.不过在实际利用中,大部份情形下这个简易的服务器并不能满意需求.
以上是“<b>实战:用Linux构建高效FTP服务器</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |