目前很多企业单位正在构架自己的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 数据挖掘研究院
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
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服务器进行访问,进行下载和上载文件操作,使用非常方便。

