|
|
次のページ
前のページ
目次へ
4. できたての BIND のインストール既に BIND が (例えば RPM から) インストール済みなら、
新しい BIND をインストールする前に、それらを削除しておきましょう。
Red Hat のシステムなら、
init スクリプト (
4.1 jail 外部へのツールのインストールこれは簡単な方です :-)
【訳注: バイナリの再ビルドをしなければ、ここの作業は不要ですね。】
4.2 バイナリchroot jail の中で生活する必要があるのは 2 つのプログラムだけです。
メインの
【訳注:
バイナリの再ビルドをしなければ、
ここではパッケージに含まれる
4.3 init スクリプトを編集する。ディストリビューションに含まれている init スクリプトがあれば、
それを
以下の init スクリプトは、著者が自分の
Red Hat 6.0 システムで使っているものです。
おわかりのとおり、ほとんどは Red Hat のものと変わりありません。
#!/bin/sh
#
# named This shell script takes care of starting and stopping
# named (BIND DNS server).
#
# chkconfig: 345 55 45
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses.
# probe: true
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /chroot/named/bin/named ] || exit 0
[ -f /chroot/named/etc/named.conf ] || exit 0
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting named: "
daemon /chroot/named/bin/named -u named -g named -t /chroot/named
echo
touch /var/lock/subsys/named
;;
stop)
# Stop daemons.
echo -n "Shutting down named: "
killproc named
rm -f /var/lock/subsys/named
echo
;;
status)
/usr/local/sbin/ndc status
exit $?
;;
restart)
/usr/local/sbin/ndc -n /chroot/named/bin/named "restart -u named -g named -t /chroot/named"
exit $?
;;
reload)
/usr/local/sbin/ndc reload
exit $?
;;
probe)
# named knows how to reload intelligently; we don't want linuxconf
# to offer to restart every time
/usr/local/sbin/ndc reload >/dev/null 2>&1 || echo start
exit 0
;;
*)
echo "Usage: named {start|stop|status|restart}"
exit 1
esac
exit 0
Caldera OpenLinux システムでは、 先頭付近で定義されている変数を修正し、以下のようにすれば OK です。
【訳注:
先に述べたように、
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
test -x /chroot/named/usr/sbin/named || exit 0
case "$1" in
start)
echo -n "Starting domain name service: named"
start-stop-daemon --start --quiet --exec /chroot/named/usr/sbin/named \
-- -u named -g named -t /chroot/named
echo "."
;;
stop)
echo -n "Stopping domain name service: named"
start-stop-daemon --stop --quiet \
--pidfile /chroot/named/var/run/named.pid \
--exec /chroot/named/usr/sbin/named
echo "."
;;
restart)
/usr/sbin/ndc -c /chroot/named/var/run/ndc \
-n /chroot/named/usr/sbin/named \
-p /chroot/named/var/run/named.pid \
"restart -u named -g named -t /chroot/named"
;;
reload)
/usr/sbin/ndc -c /chroot/named/var/run/ndc \
-n /chroot/named/usr/sbin/named \
-p /chroot/named/var/run/named.pid \
reload
;;
force-reload)
$0 restart
;;
*)
echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
バイナリファイル ( named と named-xfer) の置場所は
ディレクトリ構造に関する訳注
のところで書いたように、chroot jail 内の /usr/sbin にしています。】
4.4 設定を変更する
これらのファイルは named デーモンが読むことになるので、
もちろんパスはすべて chroot jail 内部での相対位置になります。
【訳注: named.conf に関する訳注 のところで書きましたが、 directory は一時ファイルの置き場所であると同時に ゾーンファイルのパス指定のベースディレクトリになるところです。 pid-file はデフォルトと同じなので特に指定の必要はなし、
named-xfer は
ディレクトリ構造に関する訳注
で書いたように、バイナリを 何人かの人のレポートによれば、
以下の余分なブロックを
次のページ 前のページ 目次へ |
[ |