FTP架站方法
时间:2005-05-12 来源:blculichao
*******************************************************
***************** Linux篇 *******************
*******************************************************
前言:
半个月前开始学习REDHAT LINUX7.0。作为一个Linux新手,不可避免的遇上了一些问题,通过翻阅书籍资料,查看BBS,自己的摸索实践,也解决了一些问题。想到自己的经验教训可供他人借鉴,于是大胆写出来,一来可以当作学习笔记保存,二来希望对刚刚接触Linux的朋友有所帮助。由于本人能力所限,笔记中有所疏漏不足也在所难免,还请各位高手海涵。
一、FTP简介
在网络应用中,最广泛的当属WWW和FTP这两种。FTP就是File Transport Protocol文件传输协议的缩写,FTP服务器能够在网络上提供文件传输服务。FTP服务器根据服务对象的不同可分为匿名服务器(Anonymous Ftp Server)和系统FTP服务器。前者是任何人都可以使用,后者就只能是在FTP服务器上有合法账号的人才能使用。
二、ProFTPD简介
目前在UNIX和LINUX下常用的免费FTP服务器软件主要是Wu-FTP和ProFTP这两种。Wu-FTP广泛应用在众多的Unix和Linux系统中,是RedHat Linux默认的FTP服务器软件,但是被发现安全漏洞也相当多。ProFTP正是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,如设置简单,能以Stand-alone模式运行等等。ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,TurboLinux就是一个例子。
三、ProFTP的设置
设置目标:把IP为10.0.8.39的RedHat Linux配置为FTP服务器,并允许以anonymous匿名访问FTP服务器,且只允许同一网段(10.0.8.*)的电脑对FTP的“incoming”目录有“Write”权限。
ProFTP的最新版本可以从www.proftpd.org上下载。这里我们以稳定的1.2.1版本的rpm安装包为例子(源代码编译也很简单)加以解说。
第一步:配置基本的匿名服务器
下载1.2.1的rpm后,在Gnome窗口下右键单击文件,单击“Show info”,查看rpm包的一些信息,这里我们要注意的是一些文件的默认安装路径,如/usr/local/etc/proftpd.conf(ProFTPD的配置文件),/usr/sbin/proftpd(以stand-alone模式运行Proftpd的命令),/usr/doc/proftpd-1.2.1(Proftpd的文档及配置实例文件所在目录),然后双击rpm包安装软件。
如果你像我一样,安装RedHat Linux7.0时选择了FTP服务,那你先得把安装的Wu-FTP软件删除。输入“rpm -e anonftp”和“rpm -e wu-ftpd”删除已有的FTP服务。
ProFTP安装结束后,编辑/usr/local/etc/proftpd.conf,找到“Group nobody”,改为“Group nobody”,因为RedHat Linux7.0中没有“nobody”这个组。到此为止,一个提供匿名服务的FTP服务器已经可以运行了。输入“proftpd”运行FTP服务,然后“ftp 10.0.8.39”以“anonymous”登录,看能否正常登录。一般来说,都能够登录进去的。
注意:直接运行“Proftpd”将使FTP服务以stand-alone模式启动,该模式相对与dameon进程模式更具安全性,推荐使用。不过你可以把“Proftpd”加入到/etc/rc.d/rc.local里,这样电脑启动完毕,Proftpd也就启动了。
第二步:配置incoming子目录的权限
打开proftpd.conf,在和段之间添加如下设置:
Order allow,deny
Allow from 10.0.8.
Deny from all
表示在incoming这个子目录下,从10.0.8这个网段登录的客户端有写入“WRITE”权限,其它人对该目录的写如权限都是被禁止的。如果要对所有的用户开放写入权限,只要把和之间的内容换成“Allowall“。
四、FTP服务器相关命令
1、ftpshut:关闭FTP服务,并在/etc下生成文件shutmsg。要重新开放FTP服务,把/etc/shutmsg删除。
2、ftpcout:FTP服务器在线人数信息显示。
3、ftpwho:FTP服务器在线人员名单。
附录:Proftpd.conf全文及解释
# 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 "MY REDHAT LINUX FTP" #设定FTP服务器的名称
ServerType standalone #设置FTP以Standalone模式运行,而不是以dameon模式
DefaultServer on #默认FTP服务器工作
# Port 21 is the standard FTP port.
Port 21 #FTP服务默认占用的端口
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022 #默认
RequireValidShell off #保证匿名用户正常登录,不要更改
ServerIdent off #不显示ftp服务器版本信息,以增强安全性
# 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)
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody #设置FTP服务以nobody运行
Group nobody #注意:原来是“Group nobody”,一定要改为“Group nobody”
# Normally, we want files to be overwriteable.
AllowOverwrite on
# A basic anonymous configuration, no upload directories.下面一段就是匿名服务的设置。
User ftp #匿名登录使用ftp用户
Group ftp #匿名登录使用ftp组
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous guest #给ftp用户anonymous的别名,使得anonymous登录就是ftp用户登录。
# Limit the maximum number of anonymous logins
MaxClients 10 #最多10个匿名用户同时在线
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg #登录FTP显示的欢迎信息。放在FTP的根目录下。
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
#说明看正文。
Order allow,deny
Allow from 10.0.8.
Deny from all
*******************************************************
***************** Windows篇 *******************
*******************************************************
架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低于ADSL 512Kbps的网络速度。其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS(Internet Information Server 因特网信息服务系统),也可以使用专业软件。不同的软件提供的功能不同,适应的需求和操作系统也不同。一般来说,系统最低要求如下:
CPU:PⅢ 450MHz以上
内存:256MB SDRAM以上
带宽:ADSL 512Kbps以上
至于操作系统,Windows 98/Me/NT/2000/XP均可,如果对服务器的性能和安全性要求很低,可以采用Windows 98和Windows Me。本文中,如无特殊说明,均以Windows XP专业版为操作系统,其余操作系统下FTP服务器的架设及设置均大同小异。
一、用IIS架设
如果只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS 5.0作为服务器软件来架设(IIS只适用于Windows NT/2000/XP操作系统)。
1.安装
Windows XP默认安装时不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows组件”,在弹出的“Windows组件向导”窗口中,将“Internet信息服务(IIS)”项选中。在该选项前的“√”背景色是灰色的,这是因为Windows XP默认并不安装FTP服务组件。再点击右下角的“详细信息”,在弹出的“Internet信息服务(IIS)”窗口中,找到“文件传输协议(FTP)服务”,选中后确定即可。
安装完后需要重启。Windows NT/2000和Windows XP的安装方法相同。
2.设置
电脑重启后,FTP服务器就开始运行了,但还要进行一些设置。点击“开始→所有程序→管理工具→Internet信息服务”,进入“Internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。
1)FTP站点基本信息
进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称,用来称呼你的服务器,可以随意填,比如“我的小站”;“IP地址”为服务器的IP,系统默认为“?全部未分配?”,一般不须改动,但如果在下拉列表框中有两个或两个以上的IP地址时,最好指定为公网IP;“TCP端口”一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。
2)设置账户及其权限
很多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。
3)安全设定
进入“安全账户”选项卡,有“允许匿名连接”和“仅允许匿名连接”两项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。“仅允许匿名连接”是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。IIS与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。
提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。
4)设置用户登录目录
最后设置FTP主目录(即用户登录FTP后的初始位置),进入“主目录”选项卡,在“本地路
二、用Serv-U等第三方FTP服务器软件架设
除IIS外,还有很多FTP服务器软件可以架设,如Wu-FTP、ProFtpd、Serv-U等,但大部分只适用于Unix、Linux系统,如果使用Windows系统,强烈推荐使用Serv-U。Serv-U(下载地址:http?//www.newhua.com/FTPServU.htm,含汉化包)是一种被广泛运用的FTP服务器端软件,支持Windows 3x/9x/Me/NT/2000等全Windows系列。它安装简单,功能强大,可以用同一个IP设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小、支持远程登录管理等,适合绝大部分个人自建FTP的需要。
1.安装
Serv-U的安装比IIS还简单。先执行英文原版安装文件,按提示一路“NEXT”即可。要注意的是,在选择安装目录时,最好选择安装在一个非系统盘里,以免将来系统发生异常时还要重新进行账号等的设置。然后执行汉化文件,选择原版安装目录,一路“下一步”即可完成安装。
2.设置
与IIS不同,Serv-U在第一次运行时会以向导的方式一步一步地提示用户进行设置,整个过程不超过五分钟,非常人性化。为了方便说明,先假设我们要架设一个固定IP为218.1.1.1,端口为21,根目录绝对路径为G?\Ftp,允许匿名访问和拥有一个用户名为dys、密码为syd、管理账户名叫“MyFtp”的公网FTP服务器。运行Serv-U,弹出向导窗口,依次设置如下选项:
1)“您的IP地址”:这里我们填入218.1.1.1,如果你是ADSL等方式拨号上网,拥有的是动态IP或者不知道本机IP,此处请留空。
2)“域名”:就是该FTP站点的名称,可以随意取名,这里填入“MyFtp”。
3)“匿名账号”:决定该FTP站点是否允许匿名用户访问。选择“是”。
4)“匿名主目录”:设置匿名用户登录站点后所处的目录位置。输入“G?\Ftp”。
5)“锁定于主目录”:假设在“匿名主目录”中设置匿名用户登录后所处的目录位置为“G?\Ftp\Guest”,那么,选择“是”后,当匿名用户登录FTP后,就被锁定在G?\Ftp\Guest目录下,只能查看Guest目录里的内容,不能进入上级目录“Ftp”,同时该目录在FTP客户端软件中显示为“\”,如果未被锁定,则会完整显示为“G?\Ftp\Guest”。这里选择“是”。
6)“命名的账号”:决定是否要创建有一定管理权限的账户。这里选“是”。
7)“账号名称”:就是具有一定管理权限的账户登录名称。填入“dys”。
8)“账号密码”:设置账户的登录密码。输入“syd”。
9)“主目录”:与“匿名主目录”一样,用来设置管理账户登录后所处的目录位置。输入“G?\Ftp”。
10)“锁定于主目录”:选择“是”。
11)“管理员权限