|
次のページ
前のページ
目次へ
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 は
ディレクトリ構造に関する訳注
で書いたように、バイナリを 何人かの人のレポートによれば、
以下の余分なブロックを
次のページ 前のページ 目次へ |
[ |