いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.126 / 読者数:1221名

こんばんは、うすだです。

わたくし、当メルマガとは別に、毎日栗の絵を描いています、 というだけのメルマガ「栗日記」を発行しています。
その「栗日記」が、このたび、まぐまぐ大賞2007 の、 アート・文芸部門にノミネートされてしまいました。

まぐまぐ大賞2007
http://www.mag2.com/events/mag2year/2007/
ノミネートされた「栗日記」
http://www.mag2.com/m/0000126454.html

読者数や知名度などは関係なく、誰かに推薦していただくとエントリされまして、 まぐまぐさんの一次審査にパスすると、めでたくノミネート、 ということになっているようです。

というわけで、場違い感たっぷりなのですが、もし万が一、「栗日記」をご存じで、 アート・文芸部門の他のメルマガよりもええやん、と思われたかたは、 一票を投じていただけますと感謝感激です。
(もちろん、他のメルマガのほうがいいと思われたなら、 そちらに一票を投じてくださいませ。)

まぐまぐさんからメールで連絡があったとき、 なにかの間違いかいたずらだと思いました。こういうのは、 1万名以上のメジャーなメルマガにしか関係ないものだと思っていましたので…。
ですので、ここ数日は、なんだか浮き足立ってしまっています。

しかし、神さまがくれたチャンスですので、精いっぱいの努力、 もしくは悪あがきをしてみたいと思います。うおりゃー!

…動揺していますが、そろそろ今週も、はりきってまままいりましょう。

今週のお題 - named を chroot して動かす

先週、chroot してなにかを動かす、というネタをご紹介しました。

Vol.125 - chroot してデーモンを動かす
http://www.usupi.org/sysad/125.html

ここでは、chroot コマンドを使って、chroot した環境の中で、 デーモンなどを動かせることを、確認しました。
しかし、ものによっては、自ら chroot システムコールを呼び出して動作するという、 賢いひともいらっしゃいます。

今週は、その代表的な存在である named を、chroot で動かしてみたいと思います。


今回のターゲットは、BIND(Berkeley Internat Name Domain)さんです。
ISC(Internet Systems Consortium)というところが開発されていて、 今や named といえば BIND と言っても過言ではないくらい、 一般的に普及しておられます。

Internet Systems Consortium, Inc.
http://www.isc.org/index.pl

ちなみに、以下によると、BIND は、あわせて 70% 近く使われています。

DNS SURVEY: OCTOBER 2007
http://dns.measurement-factory.com/surveys/200710.html

さて、サーバとして動かしていれば、 bind パッケージはインストール済だと思います。もし入っていなければ、 以下を参考に、インストールしてみてください。

  # yum install bind       (Fedora なひと)
  # apt-get install bind9  (Ubuntu なひと)
  # apt-get install bind   (Vine なひと)

他のディストリビューションは確認できていません。…すみません。


ディストリビューションによって、設定が微妙に異なります。
先の Fedora, Ubuntu あたりの方法を、ご紹介していきましょう。

おっと、その前に、chroot する先のディレクトリは、/usr/lib/named とします。 これが正しいというわけではありませんので、気に入らないかたは、 お好きなところに構築してください。


まずは、Fedora 系の設定方法を、以下に示します。(Vine も含みます。)

  1. /etc/sysconfig/named で、ROOTDIR を指定してください。
      ROOTDIR="/usr/lib/named"
    
    Vine の場合は、OPTIONS に -t /usr/lib/named を追加してください。
      OPTIONS="既存の設定 -t /usr/lib/named"
    
  2. /usr/lib/named 以下に、必要なものを作っていきます。
      # mkdir /usr/lib/named
      # mkdir -p /usr/lib/named/dev /usr/lib/named/etc \
      /usr/lib/named/var/named /usr/lib/named/var/run/named
    
    named は named ユーザの権限で動作しますが、 var/run/named に書き込めないといけませんので、named ユーザの所有物にします。
      # chown named.named /usr/lib/named/var/run/named
    
    また、dev/random が必要ですので、デバイスファイルを作成します。
      # mknod -m 666 /usr/lib/named/dev/random c 1 8
    
    そして、/etc や /var/named 以下にあるファイルをコピーします。
      # cp -p /etc/named.conf /etc/rndc.key /usr/lib/named/etc/
      # tar cf - -C /var named | tar xvfp - -C /usr/lib/named/var
    
  3. dev/log 経由で syslog に通知できるよう、syslogd の設定を変更します。 具体的には、/etc/sysconfig/syslog の SYSLOGD_OPTIONS に、 -a /usr/lib/named/dev/log を追加します。
      SYSLOGD_OPTIONS="既存の設定 -a /usr/lib/named/dev/log"
    
  4. 設定できましたので、syslogd および named を再起動します。
      # /etc/init.d/syslog restart
      # /etc/init.d/named restart
    

以上で動作するはずです…が、うまく動作しないときは、dev/log が存在するか、 /var/log/messages に何か出力されていないかなどを、確認してみてください。

また、SELinux が有効ですと、上記だけではだめかもしれません。
そんなときは、以下をお試しください。(Fedora7 では必要でした。)

  # chcon system_u:object_r:device_t /usr/lib/named/dev
  # chcon system_u:object_r:random_device_t \
  /usr/lib/named/dev/random
  # chcon system_u:object_r:named_var_run_t \
  /usr/lib/named/var/run/named

次に、Ubuntu の場合の設定方法を、以下に示します。

  1. /etc/default/bind9 の OPTIONS に、-t /usr/lib/named を追加してください。
      OPTIONS="既存の設定 -t /usr/lib/named"
    
  2. /usr/lib/named 以下に、必要なものを作っていきます。
      # mkdir /usr/lib/named
      # mkdir -p /usr/lib/named/dev /usr/lib/named/etc/bind \
      /usr/lib/named/var/run/bind/run /usr/lib/named/var/cache/bind
    
    Ubuntu では bind ユーザの権限で named が動作します。
    var/run/bind/run に書き込めるよう、以下の設定を行います。
      # chown root.bind /usr/lib/named/var/run/bind/run
      # chmod 775 /usr/lib/named/var/run/bind/run
    
    Fedora のときと同様、dev/random を作成します。
      # mknod -m 666 /usr/lib/named/dev/random c 1 8
    
    /etc/bind 以下のファイルをごっそりコピーします。
      # tar cf - -C /etc bind | tar xvfp - -C /usr/lib/named/etc
    
  3. やはり同様に、dev/log 経由で syslog にログを渡します。
    /etc/default/syslogd の SYSLOGD に、 -a /usr/lib/named/dev/log を追加してください。
      SYSLOGD="既存の設定 -a /usr/lib/named/dev/log"
    
  4. 設定できましたので、syslogd および named を再起動します。
      # /etc/init.d/sysklogd restart
      # /etc/init.d/bind9 start
    

うまく動作しないときは、Fedora のときと同じく、dev/log が存在するか、 /var/log/syslog に何か出力されていないか、確認してください。


以上、named を chroot で動かす方法を、ご紹介しました。

前回の場合は、chroot コマンドを動かすため、root の権限がどうしても必要でした。 しかし、named は自前で chroot したあと、非 root 権限で動作しますので、 やや安心ではないかと思います。

ちなみに、*BSD 系の場合の設定方法も、基本的には同じです。
/etc/rc.conf.local などに、named_flags や syslogd_flags を指定し、 chroot 環境をせっせと構築すれば、同様に動作します。

…ああ、すみません、スレーブサーバとして動作させる場合、 ファイルが書き込めないといけませんでした。…続きは宿題で。

宿題の答え

先週の宿題は、

  inetd/xinetd 経由で起動されるサービスも chroot できるかどうか、
  試してみましょう。

でした。

頃合のサービスがありませんでしたので、 でっちあげサービスで確認してみたいと思います。
でっちあげサービスとは、ただ単に日時を返すだけのものです。
(それって daytime? と思われたかたは、ちょっと、 このペンの先に注目してください…ピカー。)

…まあ、ようは、/bin/date を実行するだけです。
ここでは、/var/lib/tameshi-chroot 以下に、 /bin/date を起動するための環境を作成してみましょう。
…と思いましたが、作り方を書いていますと長〜くなりますので、 必要なファイルを以下に示します。

  /var/lib/tameshi-chroot/bin/date
  /var/lib/tameshi-chroot/lib/ld-linux.so.2
  /var/lib/tameshi-chroot/lib/libc.so.6
  /var/lib/tameshi-chroot/lib/libpthread.so.0
  /var/lib/tameshi-chroot/lib/librt.so.1
  /var/lib/tameshi-chroot/run

最後の run は、chroot して /bin/date を動かすためのスクリプトで、 中身は以下の通りです。

  #!/bin/sh
  TZ=JST-9
  export TZ
  /usr/sbin/chroot /var/lib/tameshi-chroot /bin/date

chroot の環境を作ったら、次に、inetd/xinetd の設定を行います。

まずは、使用するポートを、/etc/services に書きましょう。
以下は、ポート番号 12346 を、 tameshi-chroot という名前で使用できるようにするための設定です。 (名前もポート番号も、他とだぶらなければなんでも構いません。 以下を使わないなら、適時読み替えてください。)

  tameshi-chroot  12346/tcp

そして、inetd/xinetd に設定を行います。
xinetd の場合は、/etc/xinetd.d/tameshi-chroot というファイルを作成してください。 中身は以下の通りです。

  service tameshi-chroot
  {
      disable = no
      socket_type = stream
      wait = no
      user = root
      server = /var/lib/tameshi-chroot/run
  }

inetd の場合は、/etc/inetd.conf に以下を追加してください。

  tameshi-chroot stream tcp nowait root /var/lib/tameshi-chroot/run \
  run

そして、xinetd または inetd に、設定を再読み込みしてもらいます。

  # /etc/init.d/xinetd reload   (xinetd の場合)
  # /etc/init.d/inet reload     (inetd の場合)

以上で、設定はおしまいです。
ちゃんと動作するかどうか、telnet コマンドで確認してみましょう。

  % telnet localhost tameshi-chroot
  Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]'.
  Fri Nov 30 23:01:20 JST 2007
  Connection closed by foreign host.

日時が返ってきましたので、問題ないですね。
だめでしたら、/var/log/message か syslog あたりを眺めましょう。
また、ちゃんと動作した暁には、ライブラリ等を rename するなどして、 動かなくなることを確認してもよいと思います。

inetd/xinetd に関しましては、以下を参考にしてもよいかもです。

Vol.006 - うそうそWWWサーバを作る
http://www.usupi.org/sysad/006.html

今週の宿題

今週の宿題は、

  スレーブサーバを chroot して動かしてください。

です。

スレーブサーバ(セカンダリサーバ)は、 ゾーン転送を用いてマスタサーバ(プライマリサーバ)から情報を入手し、 ファイルに記録します。
ということは、named が、 ファイルを保存するディレクトリに書き込める必要がありますよね。

あとがき

もんのすごく遅ればせながら〜ですが、Twitter を始めてみました。

世の中には、実際に行動するひとと、行動しないひとの2つに分かれると思います。 行動しなければ、そもそもチャンスは到来しない! と思いますので (でもなんのチャンスでしょうね?)、前者の仲間入りをすべく、登録などしてみました。

ありがたいことに、 Emacs 上で Twitter にアクセスするためのモードがありますので(twittering-mode)、 ときどき Emacs から更新しています。

しかし、だれともお友だちになっていませんので、 Twitter 本来の使い方ができていないように思います。また、 誰も見ていないのに更新しているのも、不毛な気がします。
…さみしいので、だ、だれか、お友だちになってください。
そして、Twitter の有効な使いかたを、教えてください。

Twitter: What are you doing?
http://twitter.com/

twittering-mode
http://hayamin.com/wiliki.cgi?twittering-mode

Twitter / kuriking (わたしのページです)
http://twitter.com/kuriking

 

ところで、もう12月になってしまったのですね。
年をとるごとに、時間の進みが加速している気がします。
このあいだから月2回ですが、今年はあと1回、発行できそうですね。
chroot で引っ張るのもどうかと思いますので、次回はまた別のネタを、 ご紹介したいと思います。

ご意見ご感想、叱咤激励、誤字脱字の指摘など、いつでも承りますので、 お気軽にメールしていただけますと幸いです。

 

今週も、ここまで読んでいただき、ありがとうございました。
それでは、次回は 12月16日 頃に、お会いしましょう!

 

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−冬も栗を食べましょう。そして栗の絵を観ましょう。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 5 をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューションや、Solaris10の例も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora8)
Fedora8のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日本の Linux 情報
日本の、Linux 総本山的なところです。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
Open Tech Press
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん





▼ 最近読んだ本

ハリー・ポッターと不死鳥の騎士団 ハリー・ポッターと不死鳥の騎士団
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと炎のゴブレット ハリー・ポッターと炎のゴブレット
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターとアズカバンの囚人 ハリー・ポッターとアズカバンの囚人
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと秘密の部屋 ハリー・ポッターと秘密の部屋
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと賢者の石 ハリー・ポッターと賢者の石
J.K.Rowling
  ハリポ月刊なので読み直してます
アルケミスト アルケミスト
パウロ・コエーリョ
  また読んだ
賢者の書 賢者の書
喜多川 泰
  違った視点から見られてよかった
セキュリティウォリア セキュリティウォリア
Cyrus Peikari, Anton Chuvakin
  やや冗長…ためにはなりました
CORE MEMORY CORE MEMORY
John Alderman, Mark Richards
  この筐体でPC作ってほしい!
新訳 星の王子さま 新訳 星の王子さま
サン=テグジュベリ
倉橋 由美子
  つまらない大人になったのか…
.....

[X]
「センネン画報」 今日 マチ子
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

夢をかなえるゾウ 夢をかなえるゾウ
水野 敬也
  いままでで最高の「笑える」成功本
Linuxデバイスドライバ Linuxデバイスドライバ
Alessandro Rubini,
Jonathan Corbet
  ドライバ作らなくてもためになる
Firefoxの改造テクニック! Firefoxの改造テクニック!
大浦 淳
  いま栗日記拡張を考えてます
Apacheモジュール プログラミングガイド Apacheモジュール プログラミングガイド
小山 浩之
  Apacheの中身もわかるよ
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
チベット永遠の書 チベット永遠の書
Theodore Illion
  いろんな意味ですごい!!
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します