はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

 chrootを適用した状態のbind関連情報に関して
日時: 2012/05/17 11:58
名前: Centくん

管理者様

いつもありがとうございます。
さて、貴HPの「chrootを適用した状態のbind関連情報」の表記に関して、
教えていただけますでしょうか?

BINDのインスト後、chrootを導入したのですが、例?のように表示されても、
例?のようなシンボリクリンクは張られず、chroot適用以前のように、
各ファイルが表示されます。
namedディレクトリ配下もnamed.confも同様です。

例?)
# ls -l /var/named/
named 1827 1 1 13:42 ? 00:00:00 /usr/sbin/named -u named -t /var/named/chroot

しかし、例?の場合は、表記どおりに表示されるのではなく、

例?)
# ls -l /var/named/
lrwxrwxrwx 1 root root 43 2007-01-16 14:09 kajuhome.com.lan -> /var/named/chroot/var/named/kajuhome.com.lan

しかし、/var/named配下のファイルと/var/named/chroot配下のファイルを比較すると、
タイムスタンプが同じ同一のファイルがありました。

一見リンクしていないように見えて、リンクしているのでしょうか?
この設定状況(リンクしているように見えない)で問題ないのでしょうか?

なお、chroot設定は以前に行なったので、はっきりとは覚えておりませんが、
貴HPの該当ページを参考に、cpコマンドでコピーしたのかもしれません。
どちらのディレクトリにも同一のファイルがあるので、mvではなかったのだと推測しています。

ご教示頂けますと幸いです。


■貴サイトの参照したページ
http://kajuhome.com/bind.shtml#n11

■ コンテンツ関連情報

 Re: chrootを適用した状態のbind関連情報に関して ( No.1 )
日時: 2012/05/18 07:13
名前: stranger
参照: http://ja.528p.com/

CentOS 6.xでは
bind-chrootをinstallした時点で
下記スクリプトを実行し、必要なdevファイルを作成します

postinstall scriptlet (using /bin/sh):
if [ "$1" -gt 0 ]; then
[ -e /var/named/chroot/dev/random ] || ?
/bin/mknod /var/named/chroot/dev/random c 1 8
[ -e /var/named/chroot/dev/zero ] || ?
/bin/mknod /var/named/chroot/dev/zero c 1 5
[ -e /var/named/chroot/dev/zero ] || ?
/bin/mknod /var/named/chroot/dev/null c 1 3
rm -f /var/named/chroot/etc/localtime
cp /etc/localtime /var/named/chroot/etc/localtime
if ! grep -q '^ROOTDIR=' /etc/sysconfig/named; then
echo 'ROOTDIR=/var/named/chroot' >> /etc/sysconfig/named
/sbin/service named try-restart > /dev/null 2>&1 || :;
fi
fi;

/etc/rc.d/init.d/named起動スクリプトの中で
mount_chroot_confをstart時に実行して chroot環境に移行しています
mount --bind が「みそ」(bindはmountコマンドのオプション) 

ROOTDIR_MOUNT='/etc/named /etc/pki/dnssec-keys /var/named /etc/named.conf
/etc/named.dnssec.keys /etc/named.rfc1912.zones /etc/rndc.conf /etc/rndc.key
/usr/lib64/bind /usr/lib/bind /etc/named.iscdlv.key /etc/named.root.key'

mount_chroot_conf()
{
if [ -n "$ROOTDIR" ]; then
for all in $ROOTDIR_MOUNT; do
# Skip nonexistant files
[ -e "$all" ] || continue

# If mount source is a file
if ! [ -d "$all" ]; then
# mount it only if it is not present in chroot or it is empty
if ! [ -e "$ROOTDIR$all" ] || [ `stat -c'%s' "$ROOTDIR$all"` -eq 0 ]; then
touch "$ROOTDIR$all"
mount --bind "$all" "$ROOTDIR$all"
fi
else
# Mount source is a directory. Mount it only if directory in chroot is
# empty.
if [ -e "$all" ] && [ `ls -1A $ROOTDIR$all | wc -l` -eq 0 ]; then
mount --bind "$all" "$ROOTDIR$all"
fi
fi
done
fi
}

mount bind で net検索すれば意味がわかると思います
ここのサイトの説明は少し古いのかもしれない
 Re: chrootを適用した状態のbind関連情報に関して ( No.2 )
日時: 2012/05/18 08:15
名前: 管理者

> stranger 様
度重なるご指摘とフォロー、ありがとうございます。

> Centくん 様
strangerさんが指摘の様に、現時点でのコンテンツは古いものです。
現在はbind-chrootを導入(インストール)した時点で「/etc/sysconfig/named」内の「ROOTDIR」設定値で
mount --bindによって自動的にchroot適用前のパスがマウントされるようになり、管理者は意識しなくても良いようになってます。

bind-chroot導入後、bindサービスを実行する前は(例として)「/var/named」配下にゾーンファイル群があり、
「/var/named/chroot/var/named/」配下には何もファイルは存在しないと思います。
ここで、bindサービスを実行すると、strangerさんにご説明頂いた通り「mount bind」によって、
bind関連のファイルが「BOOTDIR」配下にマウントされます。

当サイトの説明では古い情報ですので「移行前のファイルを変更しても反映はされないので注意が必要です。」などと記載
しているのでコピーする必要があるのかの混乱を招いてしまいました。大変、申し訳ありません。

結果的にbind-chroot導入後は、何もせずにbindサービスを実行すれば問題ありません。
ただし、設定ファイル変更時はサービスを停止後、本来の設定ファイルを変更して再起動するようにしてください。
 Re: chrootを適用した状態のbind関連情報に関して ( No.3 )
日時: 2012/05/18 09:20
名前: stranger
参照: http://ja.528p.com/

自動で処理してくれることは便利なようで、融通がきかないということでもあります
CentOS(RHEL)の意図した設定を施す必要があります

bindのchrootの方法を少し理解すれば、もっと融通がきくようになります

>ここで、bindサービスを実行すると、strangerさんにご説明頂いた通り「mount bind」によって、
>bind関連のファイルが「BOOTDIR」配下にマウントされます。


mount bind ではなく mount --bind なので
bind(named)サービスと mountのオプション --bind を混同されないように


 Re: chrootを適用した状態のbind関連情報に関して ( No.4 )
日時: 2012/05/18 11:03
名前: 管理者

> mount bind ではなく mount --bind なので
> bind(named)サービスと mountのオプション --bind を混同されないように

失礼しました。脱字でございます。
オプション「--bind」とbind(named)は全く別物ですが「bind」というスペルが紛らわしいですね。
まあ、「束縛」「拘束」や「結びつける・関連付ける」などと言う意味などで仕方ありませんが・・・
bind(named)の為のオプションではないという事は認識済みです。
 Re: chrootを適用した状態のbind関連情報に関して ( No.5 )
日時: 2012/05/18 11:25
名前: stranger
参照: http://ja.528p.com/

蛇足
上位のヴァージョンのbind(named)では
/etc/rndc.key と/var/named/chroot/etc/rndc.keyが
共に存在すると警告がでる場合があるので
その都度、対処ということになります
 Re: chrootを適用した状態のbind関連情報に関して ( No.6 )
日時: 2012/05/23 10:15
名前: ゆうか

Centくん(さん)、お分かりになったのでしょうか?説明の方が難しいような気がするんだけど…
(説明が分かるくらいならこんな質問しないと思ったりしてね、心配だわ)

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.