快速业务通道

基于UNIX平台FTP服务器的建立

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-05

目前很多企业单位正在构架自己的Intranet,Ftp服务器是其中的一个服务支持,有很多单位购置了基于Unix 平台的计算机,为了在网上能够提供FTP服务支持,专门购置基于UNIX平台的FTP Server软件,其实在基于UNIX平台的计算机系统中,采取一定的技术方法,就可以建立自己的FTP Server,实现网上文件上下载服务,无须再购置专门的软件,和乐而不为之呢?下面就其建立过程阐述如下:

1.确定FTP Server的共享目录

为FTP Server建立一个FTP工作目录,在此设定为/home/ftp

2.编写FTP Server初始设置的Shell程序(setup)用编辑工具(如vi)编写一个Shell程序,用于对系统进行设置。 #!/bin/sh case $# in 0) ftphome="`grep ''^ftp:'' /etc/passwd | cut -d: -f6`" ;; 1) if [ "$1" = "start" ]; then ftphome="`grep ''^ftp:'' /etc/passwd | cut -d: -f6`" else ftphome=$1 fi ;; *) echo "Usage: $0 [anon-ftp-root]" exit 1 ;; esac if [ -z "${ftphome}" ]; then echo "$0: ftphome must be non-null" exit 2 fi if [ "${ftphome}" = "/" -o "${ftphome}" = "/usr" ]; then echo "$0: ftphome must not be / or /usr" exit 2 fi if [ ! -d ${ftphome} ]; then mkdir ${ftphome} fi if [ ! -d ${ftphome}/usr/bin ]; then mkdir -p ${ftphome}/usr/bin fi cp /usr/bin/ls ${ftphome}/usr/bin chmod 111 ${ftphome}/usr/bin/ls chown root ${ftphome}/usr/bin chmod 555 ${ftphome}/usr/bin if [ -r ${ftphome}/bin ]; then mv -f ${ftphome}/bin ${ftphome}/Obin fi ln -s usr/bin ${ftphome}  if [ ! -d ${ftphome}/usr/lib ]; then mkdir -p ${ftphome}/usr/lib fi if [ ! -d ${ftphome}/etc ]; then mkdir -p ${ftphome}/etc fi cp /usr/lib/ld.so /usr/lib/ld.so.1 ${ftphome}/usr/lib for lib in libc libdl libintl libw libnsl libsocket nss_nis nss_nisplus nss_dns nss_files do cp /usr/lib/${lib}.so.1 ${ftphome}/usr/lib rm -f ${ftphome}/usr/lib/${lib}.so ln -s ./${lib}.so.1 ${ftphome}/usr/lib/${lib}.so done cp /usr/lib/straddr.so.2 ${ftphome}/usr/lib rm -f ${ftphome}/usr/lib/straddr.so ln -s ./straddr.so.2 ${ftphome}/usr/lib/straddr.so cp /etc/passwd /etc/group /etc/netconfig ${ftphome}/etc chmod 555 ${ftphome}/usr/lib/* chmod 444 ${ftphome}/etc/* chown root ${ftphome}/usr/lib ${ftphome}/etc chmod 555 ${ftphome}/usr/lib ${ftphome}/etc if [ ! -d ${ftphome}/dev ]; then mkdir -p ${ftphome}/dev fi prefix=/devices/pseudo/mm@0: for device in zero line=`ls -l ${prefix}${device} | sed -e ''s/,//''` major=`echo $line | awk ''{print $5}''` minor=`echo $line | awk ''{print $6}''` rm -f ${ftphome}/dev/${device} mknod ${ftphome}/dev/${device} c ${major} ${minor} done prefix=/devices/pseudo/clone@0: for device in tcp udp ticotsord do line=`ls -l ${prefix}${device} | sed -e ''s/,//''` major=`echo $line | awk ''{print $5}''` minor=`echo $line | awk ''{print $6}''` rm -f ${ftphome}/dev/${device} mknod ${ftphome}/dev/${device} c ${major} ${minor} done chmod 666 ${ftphome}/dev/* chown root ${ftphome}/dev chmod 555 ${ftphome}/dev #建立一个匿名FTP服务目录,并设立可读可写属性 if [ ! -d ${ftphome}/pub ]; then mkdir -p ${ftphome}/pub fi chown ftp ${ftphome}/pub chmod 777 ${ftphome}/pub 3. 编辑/etc/passwd和/etc/shadow文件

设置匿名FTP帐号,按下面方法分别对/etc/passwd和/etc/shadow两个文件中增加如下数据项:

(1)在/etc/passwd文件中增加

ftp:x:30000:30000:Anonymous FTP:/home/ftp:/nosuchshell

(2)在/etc/shadow文件中增加

ftp:NP:6445::::::

4. 运行setup程序

在运行setup程序之前,将该文件设置成执行文件

#chmod +x setup

运行setup程序 #setup /home/ftp

以上步骤就完成了FTP服务器的建立,即可使用FTP服务器,可以用如explorer、netscape navigator等浏览器对FTP服务器进行访问,进行下载和上载文件操作,使用非常方便。
关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号