Software 版 (精华区)
作 家: zhili (北侠) on board 'software'
题 目: InternetFTP服务器的建立
来 源: 哈尔滨紫丁香站
日 期: Thu Jul 31 17:13:04 1997
出 处: bbs@bbs.orange.sjtu.edu.cn
发信人: alen.bbs@bbs.swjtu.edu.cn (小虎子), 信区: Internet
标 题: InternetFTP服务器的建立
发信站: 锦城驿站 (Thu Jul 31 04:20:09 1997)
转信站: sjtubbs!sjtunews!swjtunews!swjtubbs
Origin: xnjd21.swjtu.edu.cn
InternetFTP服务器的建立
刘建新
一、FTP服务与Wu-ftpd
FTP(文件传输协议)是Internet的重要用途之一,
它允许用户登录到Internet的一台远程计算机,把其中的
文件传送回自己的计算机系统,或者把本地计算机上的文
件传送并装载到远方的计算机系统。FTP服务还允许用户以
″anonymous″(匿名)为用户名、以电子邮件地址为口
令进行连接.这种FTP服务器为未注册用户设定特别的子目
录,其中的内容对访问者完全开放。
在主机上提供FTP服务的软件称为FTP服务器软件,目
前在Internet上使用最为广泛的FTP服务器是Wuarchive-
ftpd,简称wu-ftpd。它是由美国Washington大学的Brya
nD.O′Connor为Unix系统开发的。Washington大学还建
立了一个邮递表来讨论维护wu-ftpd和ftp站点的有关问题
,感兴趣的朋友可以给listprocΝmail.wustl.edu发送
一个Email,在信件中写上“SUBSCRIBEWU-FTPDΙ你的全
名Λ”来加入这个邮递表,获得关于wu-ftpd的最新消息
。
二、Wu-ftpd的下载与编译
Wu-ftpd的大本营为wuarchive.wustl.edu,详细
的FTP地址为:
ftp://wuarchive.wustl.edu/packages/wuar
chive-ftpd/
它有源代码、二进制代码多种形式,不过建议用户采
用源代码方式,这样可以在编译时加入自己的很多要求。
取回的文件为.tar.gz格式,先将此文件解压缩、展开
。
首先阅读新目录wu-ftpd-2.4下的说明文件INST
ALL了解系统安装的基本步骤。第一步先编辑文件src/pa
thnames.h中有关的配置文件所在目录的信息,以下为主
要的配置文件及缺省所在目录:
—PATH—FTPUSERS″/etc/ftpusers″
包含禁止使用FTP的用户,一般包括root和不是具体
用户名的帐号,如bin,sync,nobody等。
—PATH—FTPACCESS″/usr/local/etc/ftpacces
s″
FTP服务器的配置文件。
—PATH—FTPHOSTS″/etc/ftphosts″
单个用户存取控制文件,可以设置某一主机或某一域
名的某个用户可以/不可使用FTP服务。
—PATH—PIDNAMES″/usr/local/daemon/ftpd/
ftp.pids-%s″
pid文件的模板文件。%s自动由正确的classname代
替。pid文件的个数与ftpaccess文件中的class个数一致。
—PATH—CVT″/usr/local/etc/ftpconversions
″
此文件包含一些文件的类型转换配置。
—PATH—XFERLOG″/usr/adm/xferlog″
所有日志信息的存放文件。
第二步对系统进行编译,根据系统的不同,编译所需
的参数也不同。基本的编译方法为:buildxxx,
其中xxx对应不同的操作系统:
gen:通用编译aix:IBMAIX
bsd:BSDIbsd/386dgx:DataGeneralUnix
dyn:Dynixhpx:HP-UX
isc:ISClnx:Linux
nx2:NeXTstep2.xnx3:NeXTstep3.x
osf:OSF/1ptx:???
sgi:SGIIrix4.0.5asny:SonyNewsOS
sol:SunOS5.x/Solaris2.x
s41:SunOS4.1.xult:Ultrix4.x
假如使用的是SunOS4.1则使用#builds41。编译后
系统生成以下文件:
bin/ftpd、bin/ftpcount、bin/ftpshut、bin/f
tpwho、bin/ckconfig
再使用命令#buildinstall将这些文件和帮助手册安
装到相应的目录下,缺省的目录在Makefile中定义,用户
可以修改以适合自己的需要。
三、Wu-ftpd的安装与配置
Wu-ftpd提供了一些配置文件的模板,用户可以先将
这些文件拷贝到上面/src/pathnames中指定的目录,再
进行修改。
#cddoc/examples
#ls--F
total7
1ftpaccess1ftpconversions1ftphosts
2ftpaccess.heavy1ftpgroups1ftpusers
#cpftpaccess/usr/local/etc/ftpaccess
#cpftpusers/etc/ftpusers
#cpftpconversions/usr/local/etc/ftpconver
sions
#cpftpgroups/etc/ftpgroups
#cpftphosts/etc/ftphosts
为了使系统在每次启动时自动启动FTP服务,需要编
辑/etc/services和/etc/inetd.conf文件。在/etc
/services中加入:
ftp21/tcp
在/etc/inetd.conf中加入FTP服务:
ftpstreamtcpnowaitroot/ftphome/etc/ftpdftpd
-l
然后重新启动inetd
#ps-aux grepinet
root1570.00.0680?IW18:130:00inetd
root11500.00.316204p4S18:570:00grepinet
#kill-9157
#inetd
还需要在系统中建立一个用户名为“ftp”的用户,
将其homedirectory设置到一个预先规划好的目录,如/ft
phome/ftproot。在此子目录下建立以下子目录:pub
、etc、bin。拷贝操作系统ls文件到bin子目录下。
在etc目录下建立虚拟的用户组文件和口令文件,这
样是为了提高系统的安全性。group文件的示例为:
users:*:1:
bin:*:2:
root:*:3:
passwd文件的示例为:
ftp:*:4001:1:AnonymousFTPuser:/home/ft
p:/bin/false
bin:*:2:2::/:/bin/false
root:*:0:3::/:/bin/false
这样大部分操作系统便可以正常工作,但有的操作系
统中(如SunOS4.1x)在使用ftp时,会发现dir命令不能
正常工作。这种情况下需要使用以下方法:
先用ldd命令检查ls命令所使用的库文件:
#lddbin/ls
-lc.101ΚΛ/usr/lib/libc.so.101.8
-ldl.1ΚΛ/usr/lib/libdl.so.1.0
然后将这些库文件拷贝到ftp根目录的usr/lib目录
下:
#cd~ftp
#mkdirusr
#mkdirusr/lib
#cp/usr/lib/libc.so.101.8usr/lib/libc
.so.101.8
#cp/usr/lib/libdl.so.1.0usr/lib/libdl
.so.1.0
再执行以下操作:
#cd~ftp
#mkdirdev
#cddev
#mknodzeroc312
#chroot./bin/ls-l
最后为了防止用户的恶意入侵,修改以下子目录的属
性或属主:
#chmod711etc
#chmod711bin
#chownftppub
四、FTP服务的使用
这样就可以将系统FTP服务提供的文件放在pub目录下
,另外在ftp的根目录下编辑生成一个文件welcome.msg
,加入系统对用户的的一些提示信息。在每个目录下还可
以编辑生成文件.message,当用户进入此目录时,将自动
显示该文件中的信息。
以上设置完成后,用户便可以使用命令方式的ftp或f
tp软件来使用ftp服务。
以下为命令方式下使用的情况:
sun10Λftpsun10
Connectedtosun10.sti.ac.cn.
220sun10FTPserver(Versionwu-2.4(2)MonMay1
218:29:53CDT1997)ready.
Name(sun10:liujx):ftp
331Guestloginok,sendyourcompletee-mailaddres
saspassword.
Password:
230-WelcomeToFtpsiteofSTINET!
230-
230-TheoldftpArchivehasbeenmovedto/pub/pub1
996!
230-
230-Somenewresourceswillcomesoon!
230-
230-AnyQuestionPleasemailto:
230-admΝsun10.sticn.ac.cn
230Guestloginok,accessrestrictionsapply.
ftpΛdir
200PORTcommandsuccessful.
150OpeningASCIImodedataconnn
--
(o<~ ~>o) L ("< >`) N >~)/ /_
/ ) A ( \ / ) E ( \ ^^
--/ ^^------^^ \---L-----^-------------
※ 来源:.锦城驿站 bbs.swjtu.edu.cn.[FROM: 202.115.66.19]
--
※ 来源:·哈尔滨紫丁香站 bbs1.hit.edu.cn·[FROM: bbs@bbs.orange.sjtu.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.400毫秒