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

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


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

こんばんは,うすだです.

先週は,このメルマガを1回休ませていただき,クリエーターズマーケットに出展してきました. 仕事では出さないやる気を,怒涛のごとく出してきました. まさに,全身全霊を注いできました.ちょっと言いすぎですが.

クリエーターズマーケット
http://www.creatorsmarket.com/
報告みたいなもの
http://blog.melma.com/00111324/20050621230910

結果は…金銭的にはあきらかに赤字でした. でも,持っていた名刺は全部配りましたし,いろんな方に興味を持ってもらえました. はじめてにしては,よかったんじゃないかと,自分では思っています.
授業料はけっして安くありませんでしたが,いい糧になったと思います.
ただ,その糧を,本業にどうやって還元するのかが,難点ですが….

そして,出展にあたり,よめと義兄には,たくさんお世話になりました.
ひとりでやってたら,たぶん死んでました.人間,ひとりで生きているんじゃないんだ, ということを,こんなところで実感してしまいました.
お給料が入ったら,お世話になった方々に,ぱーっと還元しようと思っています. ぱーっと.(…というほどはありませんが.)

そ,それでは,今日も,はりきってまいりましょう!

今週のお題 - syslog を管理する

今週は,ありきたりではありますが,syslog です.

24時間休みなく,知らない間にログをとってくれている働きものの syslog ですが, 管理方法など,それなりに知っておくべきではないかと思いますので, 取り上げてみました.

予定では,今週は基本的なところを,来週はログのローテーションなどをご紹介しようと思っています.

というわけで,syslog ですが,ものすごく簡単に言うと,/dev/log や UDP の514番を介して送られてきたログを,ファイルなどに振り分けて記録してくれる, 目立たないけどえらいひとです.

ログを振り分けるもとになるのが,facility と priority です.
facility は,種類を表します.kern, mail, auth など用途の決まってるものから, local0〜local7 のように,任意に使用できるものがあります.
priority は,優先度です.やばい順に,emerg, alert, crit... と続き, 単なる情報を表す info, デバッグ用途の debug まであります.

この facility と priority を使ってログを振り分けるわけですが, その設定ファイルが /etc/syslog.conf です.
中身は,基本的には,以下の記述の羅列です.

  セレクタ     アクション

セレクタには,facility と priority を指定し,その条件にあうとき, アクションが行われます.; で区切れば,複数指定も可能です.
アクションにただのパスが記述されていれば,そのファイルにログが出力されます. 例えば,

  kern.info	/var/log/kern.log

という記述があれば,facility が kern で,priority が info 以上のログを, /var/log/kern.log に出力してくれます.

  *.=debug	/var/log/debug.log

とすると,facility はなんでもよくて,priority が debug だけのログを, /var/log/debug.log に出力してくれます.
(ちなみに,* は priority にも使えます.)

アクションには,パス名だけでなく,| を使って,名前つきパイプに出力させることもできます.

  *.alert	|/var/log/alert

と書いておくと,priority が alert 以上のログが,/var/log/alert に出力されます.

では,パイプの例を,実際に試してみましょう.
まず,以下を実行して,名前つきパイプを生成します.

  # mkfifo -m 600 /var/log/alert

次に,syslog.conf に前述のエントリを追加して,以下を実行します.
(これをしないと,syslogd は,syslog.conf を解釈してくれません.)

  # kill -HUP `cat /var/run/syslog.pid`

そして,/var/log/alert をチェックさせるひとを,動かしておきます.
簡単ではありますが,以下のようなシェルスクリプトを用意します.

  #!/bin/sh
  while read message; do
      echo $message
  done < /var/log/alert

/var/log/alert から読み込んだ1行を,echo で出力するだけのひとです.
これが testalert.sh という名前だとしたら,あらかじめ, 以下のように起動しておきます.

  # ./testalert.sh

最後に,logger コマンドで確認します.

  # logger -p local0.alert  This is a test message

と実行すると,testalert.sh が,以下のようなものを出力します.

  Jun 26 02:42:06 tamao usu: This is a test message

…で,これがなんの役に立つんだ? と思われるかもしれません.
ありきたりな応用例については,今週の宿題をご覧ください.

ちなみに,FreeBSD ですと,以下のような記述をすると,直接コマンドを実行できるようです.

  *.alert	  | exec /usr/local/sbin/nanka_command

…残念ながら,Linux などではできません.

というわけで,syslog の簡単な説明でした.
logger コマンドとともに,いろいろ試していただければと思います.

もう少ししっかり勉強したい方は,SoftwareDesign の2005年2月号の特集に, syslog の基礎などが載っています. 会社などで定期購読されている方は,ぜひご覧になってください.
(もちろん,私が記事を書いたわけではありません.私はただの読者….)

宿題の答え

先週の問題は,

  tcp_wrapper とパケットフィルタリングの違いはなんでしょうか?

でした.

前回も書きましたが,わたしは明確な答を知ってるわけではありません.
自分で考えて,これが答かなと思ったことを,以下に書きます.

tcp_wrapper は,プログラム(tcpd あるいは自分自身)がアクセス制限などを行います. かたや,パケットフィルタリングは,OS の TCP/IP スタックの中で行われます.
言い方を変えると,tcp_wrapper はアプリケーション層, パケットフィルタリングはネットワーク層で行われます.

ですので,複数のインターフェースを持つ場合,tcp_wrapper では, インターフェースを特定できません. 外部から,内部のアドレスを偽ってアクセスされても, 外部から偽って来たということがわかりません.
パケットフィルタリングでは,インターフェース毎の指定が可能ですので, 判別できます.

ですが,tcp_wrapper では,プログラム上で動作しますので, ドメイン名との部分一致などによる,柔軟な制限をかけることができます.
かたや,パケットフィルタリングでは,IP アドレス(の範囲)で指定する必要があります. OS 内部から DNS を引いたりなんていう器用なことは, できないのではないかと思いますので….

…こんなもんでしょうか.わかりにくかったら,すみません.
間違いなどありましたら,ぜひ,ご連絡ください.

今週の宿題

今週の宿題は,こちらです.

  priority が alert 以上のログを,root 宛にメールするように,設定
  してください.

ほんっとに,ワンパターンで申し訳ないです….
名前つきパイプを使った例をご紹介しましたが, パイプから読み込むひとをちょこっと変更すると,そうなります.

あとがき

私がはじめて UNIX に触れて,試行錯誤をしていたのは, かれこれ10数年前になります.あの頃は,今ほど書籍が充実しておらず, 特に初心者向けの書籍があまりありませんでした. ですので,なんだかわけもわからずに上級者向けの本を読んでいた記憶があります.

それが今や,PC 上で Linux や *BSD が動く時代となり,いろんな本が, 当たり前のようにわんさか出まわるようになりました.
そのなかで,初心者の方にとって役に立ちそうな本を見つけました.

初心者のための Linux コマンドリファレンス

Amazon     http://tinyurl.com/aoqk8
楽天ブックス  http://tinyurl.com/9k7kw

一番いいと思ったところは,読み方が載っていることです.
最初のうちは,読み方がわからなくて, 先輩に聞きたくても恥ずかしくて聞けなかったり, 面白い使い方を見つけて自慢したくても言えなかったりしたものでした. でも,読み方が載っていれば,安心です.よね.
(…つい,自分の過去をふりかえってしまいました…(遠い目).)

わかりやすくカテゴライズされているところや,見やすいのもいいです.
値段があまり高くないのも,いいですね.:-)
メモ欄もありますので,個人で購入して, いろいろ書き込むといいのではないかと思います. (会社の経費で買って,個人で使うのもありです!)

著者の Pakira さんは,メルマガも発行されています.
初心者向けという点では,このメルマガとかぶっていますが, 内容はそれほどかぶっていません. ですので,あわせて購読すると,よろしいのではないかと思います. (わたしも購読してます.)

UNIX/Linuxコマンド Topics
http://linux-topics.com/

そんなわけで,来週も syslog が続きます.
こんなことやってよとか,こんなことで悩んでるんだけどとかありましたら, ぜひご連絡ください.お待ちしてます!!

今週も,ここまで読んでいただき,ありがとうございました.
それでは,また来週,お会いしましょう!

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

バックナンバーは,こちらにどっさりあります.
http://www.usupi.org/sysad/backno.html

「栗日記」−栗の絵を,一日一枚,淡々と描いております.
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


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

トップ

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

プロフィール

▼ リンク

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

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本