阅 读 文 章

Linux和Solaris建立Apache的虚拟根环境

[来源:网上转载 () | 作者:网友() | 时间:2007-07-07 | 浏览:人次 ]

ROOT# cd /www

ROOT# mkdir -p usr/bin usr/lib lib etc tmp dev webhome

ROOT# ln -s usr/bin bin

2.3 /tmp是假定的专用perms

ROOT# chmod 777 tmp

ROOT# chmod +t tmp

2.4 构造特殊的装置 dev/null

ROOT# mknod -m 666 dev/null c 1 3

2.5 为你自己的时区设定时区信息(这里使用的是MET)

ROOT# mkdir -p usr/share/zoneinfo

ROOT# cp -pi /usr/share/zoneinfo/MET usr/share/zoneinfo/

ROOT# cd etc

ROOT# ln -s ../usr/share/zoneinfo/MET localtime

ROOT# cd ..

2.6 你会发现由于缺乏本地设置,perl和mod-perl多有不便,但你可以通过在实现了虚拟根环境目录树中安装本地文件来克服它:

ROOT# set |grep LANG

LANG=en_US

ROOT# mkdir /www/usr/share/locale

ROOT# cp -a /usr/share/locale/en_US /www/usr/share/locale/

2.7 现在,在可以提供非常基础的虚拟根环境化的文件系统的共享库

ROOT# cp -pi /lib/libtermcap.so.2 /lib/ld-linux.so.2 /lib/libc.so.6 lib/

2.8 测试你的目录树(Apachect1后面将要用到“cat”,但也不是必需的)

ROOT# cp -pi /bin/ls /bin/sh /bin/cat bin/

ROOT# chroot /www /bin/ls -l /

lrwxrwxrwx 1 00 7 Jan 29 09:24 bin -> usr/bin

drwxr-xr-x 2 001024 Jan 29 09:28 dev

drwxr-xr-x 2 003072 Jan 29 13:17 etc

drwxr-xr-x 2 001024 Jan 29 13:12 lib

drwxrwxrwt 2 001024 Jan 29 09:23 tmp

drwxr-xr-x 5 001024 Jan 29 09:23 usr

drwxr-xr-x 2 001024 Jan 29 10:41 webhome

2.9 你可以移动一下ls,它只是用于测试的。

ROOT# rm bin/ls

3.准备一个用户和名字服务器

下面我们生成一个运行Apache的用户,下面是这种配置的必要的命名服务:

3.1 生成一个不存在于系统上的新的用户,给他起一个特殊的名字和用户ID(例如888)。

注意:对于存在真正的鉴定文件(/etc/passwd /etc/group)的user.group,这并不是必需的,完全有你决定:

ROOT# cd /www

ROOT# touch etc/passwd etc/group etc/shadow

ROOT# chmod 400 etc/shadow

3.2 编辑三个文件,在这个例子中,我只是将数据再传回文件中:

ROOT# echo 'www:x:888:888:Web Account:/webhome:/usr/bin/False' > etc/passwd

ROOT# echo 'www:x:888:' > etc/group

ROOT# echo 'www:*:10882:-1:99999:-1:-1:-1:134537804' > etc/shadow

3.3 我没有给这个用户login或shell,只是为了完整,编译了一下称为false的no-go shell。

ROOT# echo 'int main(int argc, char *argv[]) { return(1); }' > /tmp/False.c

ROOT# cc -o /www/usr/bin/False /tmp/False.c

3.4 下面让我们标记一下二进制流:

ROOT# chmod 111 usr/bin/*

3.5 一些命名服务是必须的。但是由于glibc和命名服务转换库的存在,那些库是必不可少不是那么一目了然的。至于其中的细节,你可以使用命令“man nsswitch”来察看。尽管在我的机器上运行着网络信息服务(NIS),但我还是选择依赖于文件和域名服务(DNS)。注意:libresolve库也是必需的,在安装了PHP之后,这种需求就相当明显了。

ROOT# cp -pi /lib/libnss_files.so.2 lib/

ROOT# cp -pi /lib/libnss_dns.so.2 lib/

3.6 我们将需要三个文件来完成对命名服务的配置。

这些文件的内容决定于你IP和DNS设置。在这里我们假定web服务器的名字是ns.mynet.home,它的IP地址是:192.168.196.2(实际上它也是我的名字服务器)

# ---- Contents ofetc/nsswitch.conf ----#

论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 虚拟 环境 建立 ROOT# 安装 文件 目录 Apache 一个 cd

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.