目前很多企业单位正在构架自己的intr.net,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服务器进行访问,进行下载和上载文件操作,使用非常方便。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器