スキップしてメイン コンテンツに移動

bindをchroot環境で動かす

# yum install bind bind-chroot
~ 略


yum でインストールすると、owner が root になるので、named に変更。
# chown named:named /var/named
chroot後のrootディレクトリを確認 # cat /etc/sysconfig/named ~ 略 ROOTDIR=/var/named/chroot # ls -l /var/named/chroot drwxr-x---. 2 root named 4096 4月 23 00:29 2014 dev drwxr-x---. 4 root named 4096 5月 1 22:43 2014 etc drwxr-x---. 3 root named 4096 4月 23 00:29 2014 usr drwxr-x---. 6 root named 4096 4月 23 00:29 2014 var named.confを編集 # vi /etc/named.conf ~ 略 DNSサーバとして必要な設定をする。chroot環境を意識する必要はない。 CentOS 6のBIND起動時にGenerating /etc/rndc.keyで固まるのを防ぐ。 # rndc-confgen -a -r /dev/urandom マウント状態を確認 # df -ah Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_01-lv_root 37G 1.7G 34G 5% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devpts 0 0 0 - /dev/pts tmpfs 495M 0 495M 0% /dev/shm /dev/sda1 485M 121M 339M 27% /boot none 0 0 0 - /proc/sys/fs/binfmt_misc 起動 # service named start マウント状態を確認 # df -ah Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_01-lv_root 37G 1.7G 34G 5% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devpts 0 0 0 - /dev/pts tmpfs 495M 0 495M 0% /dev/shm /dev/sda1 485M 121M 339M 27% /boot none 0 0 0 - /proc/sys/fs/binfmt_misc /etc/named 37G 1.7G 34G 5% /var/named/chroot/etc/named /etc/named.conf 37G 1.7G 34G 5% /var/named/chroot/etc/named.conf /etc/named.rfc1912.zones 37G 1.7G 34G 5% /var/named/chroot/etc/named.rfc1912.zones /etc/named.iscdlv.key 37G 1.7G 34G 5% /var/named/chroot/etc/named.iscdlv.key /etc/named.root.key 37G 1.7G 34G 5% /var/named/chroot/etc/named.root.key /usr/lib64/bind 37G 1.7G 34G 5% /var/named/chroot/usr/lib64/bind /var/named 37G 1.7G 34G 5% /var/named/chroot/var/named こんな感じで、chroot後のルートにマウントされる。

コメント

このブログの人気の投稿

Chatの「メッセージは投稿者によって削除されました」を非表示にする方法

Chrome拡張機能を自作してやってみよう! ♪できるかな できるかな ・・・ 無理ぽ (´・ω・`) iframeの中に、実際のメッセージのやり取りが表示されるので、 $(function(){ $('iframe[name^="spareFrame"]').contents().find('[data-is-tombstoned="true"]').hide(); }); って書いたけど An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing. って言われてダメだったよ・・・

cron で実行されたコマンドから出力されたメッセージをメールで送信する方法

本題に入る前に、まずは、sh/bash系のシェルで標準出力と標準エラー出力をリダイレクトする方法から。 現在使用中のシェルを確認するには、 # echo $SHELL とすれば確認できる。 その他、利用できるシェルを確認するには # cat /etc/shells とする。 ■リダイレクトについて commandコマンドが出力を伴うコマンドの場合、commandコマンドの出力をresult.txtへ出力するには # command > result.txt コマンドの実効結果を別のコマンドの入力値とする場合は、|(パイプ)でつなげる。 # command1 | command2 ■標準出力と標準エラー出力について ・標準出力 正常結果やコマンド実行途中に出力されるメッセージの出力先。 ・標準エラー出力 異常終了時のメッセージやエラーメッセージなど、ユーザーに気づいてほしいメッセージの出力先。 ■標準出力と標準エラー出力の両方をリダイレクトする 先のcommandコマンドのリダイレクト例のうち、result.txtへのリダイレクトは、標準出力をリダイレクトしている。そのため、標準エラー出力はリダイレクトされず、仮にcommandコマンドが標準エラー出力へメッセージを出力した場合は、result.txtではなくコンソールへ出力(表示)される。 標準出力と標準エラー出力の両方をリダイレクトして、result.txtへ出力するには、 # command > result.txt 2>&1 とする。 なお、上の例を省略なしで記述すると # command 1> result.txt 2>&1 となる。 この「1」「2」の番号について。 ・1:標準出力。通常はコンソール画面。 ・2:標準エラー出力。通常はコンソール画面。 となっている。 ちなみに、「0」は「標準入力」。通常はキーボードからの入力。 例:標準エラー出力を error.log へ出力する。標準出力はコンソールへ表示する。 # command 2> error.log 例:標準出力は result.log 、標準エラー出力は error.log へ...

cron で bash を使うまでのお話

おー、ほぼ一年ぶりの更新だ・・・ 普段、何気に設定していた cron なんですが、 「PATHは通っていないから、フルパス書いて」 「#!/bin/bash はお呪い」 っていう程度の認識しかなかった。 ので、一からお勉強。 まず、cron の シェル等を確認するには、cron実行ユーザーで [root@localhost ~]# crontab -e * * * * * printenv >/var/tmp/env.txt ってやって1分待つ。 で、1分後に出来上がったファイルの中身を見てみる [root@localhost ~]# cat /var/tmp/env.txt ... SHELL=/bin/sh USER=root PATH=/usr/bin:/bin PWD=/root LANG=ja_JP.UTF-8 SHLVL=1 HOME=/root LOGNAME=root XDG_RUNTIME_DIR=/run/user/0 ... あー、shだ。 どおりで、/bin/bash って書かないと、動かない記述があるわけだ。