基于UNIX平台FTP服务器的建立
作者:邹衡岳 来源:软件世界 发布时间:2007-08-24 13:35:00
目前很多企业单位正在构架自己的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服务器进行访问,进行下载和上载文件操作,使用非常方便。


猜你喜欢
- 熟悉Firefox的人应该都知道,当你在页面上单击鼠标中键的时候,就可以启动Firefox的Autoscroll功能,并且在页面上会出现一个
- 写点这些日子的心得吧。。。既然是一个团队,团队每个成员的想法也是非常重要的。凌晨了,睡不着,想了很多有关工作和生活的事儿。我记得以前有朋友问
- 有网友在微博上爆料,发现百度网站上有严重漏洞,不仅可以创建文件夹,还可以上传内容上去。据了解,这个漏洞实际上是由于fckeditor编辑器造
- 1. 首页在哪里?你要确保在博客页面的顶部位置有一个明显的“首页”链接。2. 将你的logo链向你的
- 3月3日起,收到很多朋友反映,在ENOM注册的.CM域名出现不能解析故障。而与此同时,在ENOM后台的.CM域名全部不能修改DNS信息。&n
- 核心提示: 一个网站要建立好良好的形象,必定要“扬长避短”。通过robots.txt来限制蜘蛛的爬行页面,不让蜘蛛爬行质量比较低劣的网页。G
- 几年前站长做网站的时候只需要考虑Woindows和IE 5.0,网页的分辨率大多是800*600和1024*768,所以对于网站设计来说相对
- 对于一个网络管理员来说,垃圾邮件的困扰并不是接收这些垃圾邮件,而是试图防止垃圾邮件发送者使用你的邮件服务器来进行中继转发,这项工作很关键,因
- 在一些实验环境,服务器没有直接连接万网的权限,需要通过 * ;通常情况下将 * 直接配置在/etc/envrionment、/etc/p
- 当你在谷歌这种搜索引擎上搜索到某个网站时,点击链接出现“该网站可能含有恶意软件”的字样,你会怎么处理
- 步骤1:查看本地以太网属性是否安装VMware Bridge Protocol控制面板>>网络和Internet>>
- 11月19日,《魔兽世界》在中国大陆的运营商网易(Nasdaq:NTES)发布三季度财报,期内其毛利润为6.27亿元,上一季度和去年同期分别
- 中文分词又叫中文切词,中文划词等,是seo必须掌握的一个基础知识。现有的中文分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方
- 本报记者 雷中辉 北京报道“我们还没有接到实施细则的通知,具体怎么办还不清楚。”7月22日,北京市工商行政管理局大厅,当记者询问电子商务网店
- 首先介绍一下我电影站的程序,市场上流行的主要是马克斯电影程序和搜一次电影程序,大部分都使用这两个电影程序,但是我选择了马克斯程序因为他的程序
- 10月21日消息,提供高达5千万网络营销推广资源、20万元单项助学金,并提供超过100个百度就业机会的全国大学生乡村信息化创新大赛已呈如火如
- 添加一条新记录是通过RecordSet对象的Addnew方法实现的,还是通过执行SQL语句中的insert语句也可以添加新记录,为何不选用后
- V5MALL全线免费,再推网上商城炙不久之前相续在上海豫园商城、青岛特色街取得辉煌战果的上海威博网络技术有限公司,再其V5SHOP网店系统开
- 在生产中可能会由于误操作而删除了某一用户的家目录,这时就需要把用户的家目录安装创建新用户时的模板文件,再恢复并且要跟之前的权限相同。1. 创
- 做谷歌这么多年了,一直最佩服的就是谷歌的防作弊手段,因为谷歌防作弊是对外保密的,因此,很多人作弊,虽然道理一套,表面上可能无坚不摧,但是真正