root# set SB=/sandbox
root# mkdir ${SB}/usr
root# mkdir ${SB}/usr/{lib,libexec}
root# cp /usr/lib/{libc.so.3,libcrypt.so.2,libutil.so.2} ${SB}/usr/lib
root# cp /usr/libexec/ld-elf.so.1 ${SB}/usr/libexec
root# mkdir ${SB}/dev
root# cd ${SB}/dev
root# /dev/MAKEDEV std
万が一高い権限で侵入されても不幸なことにならないように不要なdevice fileを消す。
root# rm console fd io klog kmem mem pci
root# mkdir ${SB}/var
root# mkdir ${SB}/var/run
root# mkdir ${SB}/var/log
root# mkdir ${SB}/etc
root# cp /etc/{group,host.conf,hosts,login.conf,master.passwd} ${SB}/etc
root# vi group
不要なグループを削除
--groupの例--
user1:*:1001:
nogroup:*:65535:
-------------
root# vi master.passwd
不要なエントリーおよびパスワード、ログインシェルの項目を削除。
---master.passwdの例---
# $FreeBSD: src/etc/master.passwd,v 1.24.2.1 2000/06/12 13:12:15 asmodai Exp $
#
user1:*:1001:1001::0:0:Test User:/home/user1:/nonexistent
nobody:*:65535:65535::0:0:Nobody:/nonexistent:/sbin/nologin
-----------------------
root# pwd_mkdb -d ${SB}/etc master.passwd
root# mkdir ${SB}/home
root# mkdir ${SB}/home/user1
root# mkdir ${SB}/home/user1/public_html
root# chown user1:user1 ${SB}/home/user1/public_html
root# mkdir ${SB}/usr/local
root# mkdir ${SB}/usr/local/etc
root# mkdir ${SB}/usr/local/etc/apache
root# cp /usr/local/etc/apache/{httpd.conf,magic,mime.types} \
${SB}/usr/local/etc/apache
root# mkdir ${SB}/usr/local/libexec
root# mkdir ${SB}/usr/local/libexec/apache
root# cp /usr/local/libexec/apache/* ${SB}/usr/local/libexec/apache
root# mkdir ${SB}/bin
root# cp /bin/{\[,cat,kill,rm,sh} ${SB}/bin
root# mkdir ${SB}/usr/bin
root# cp /usr/bin/limits ${SB}/usr/bin
root# mkdir ${SB}/usr/local/sbin
root# cp /usr/local/sbin/{apachectl,httpd} ${SB}/usr/local/sbin
root# chroot ${SB} /usr/local/apachectl start
以上。
© 2000-2001 Yoshisato YANAGISAWA PCC-Software.org. All rights reserved.