SYSLOGD(8)

名称
syslogd - システムメッセージの記録をとる

書式
syslogd [-dsuv] [-a allowed_peer] [-f config_file] [-m mark_interval] [-p log_socket] [-l path]

解説
syslogd デーモンは設定ファイルに指定された通りに、システムコンソール、 ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。 オプションには以下のものがあります。

-a allowed_peer
    allowed_peer がこの syslogd に UDP データグラムを使用してログすることを許します。複数の -a オプションを指定可能です。

    allowed_peer は以下のいずれかです:

    ipaddr/masklen[:service]
        ipaddr (通常のドット表記の 4 つ組) からのデータグラムを受け付けます。 アドレス比較の際、 masklen ビットを考慮します。 service が指定された場合、パケット送出元が属すべき UDP service の名前もしくは番号となります( services(5) 参照)。 service に ‘*’ を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。 デフォルトの service は ‘syslog’ です。 masklen を指定しないと、 ipaddr がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ 歴史的なクラス A もしくは B のネットマスクが使用され、 そうでない場合には 24 が使用されます。

    domainname[:service]
        送信アドレスのアドレス逆引きにおいて domainname が得られたデータグラムを受け付けます。 service の意味は前述の通りです。

    *domainname[:service]
        上述の通りですが、送信ホスト名が domainname で 終る 全てのホストから受け付けます。

-d  syslogd をデバッグモードで実行します。これは恐らく、 syslogd の開発者にのみ役立ちます。

-f  代りの設定ファイルのパス名を指定します。 デフォルトは /etc/syslog.conf です。

-m  “mark” されたメッセージの間隔を分単位で指定します。 デフォルトは20分です。

-p  代りに使用するログ用ソケットのパス名を指定します。 デフォルトは /var/run/log です。

-l  syslogd が追加のログ用ソケットを置く場所を指定します。 19 個まで追加のログ用ソケットを指定可能です。 主な用法は、 様々に chroot したファイル空間において追加のログ用ソケットを /dev/log に置くというものです。

-s  セキュアモードで操作します。リモートマシンからのログメッセージをログしません。 メッセージは受信計数され、 カウントが 2 の羃乗を越える時にログエントリが生成されます。

-u  ただ 1 つの優先度のログのみ行います。 指定した優先度のメッセージのみログします。 このオプションを指定しないと、指定した優先度以上のメッセージがログされます。 このオプションにより、デフォルトの比較を “=>” から “=” に変更します。

-v  冗長なログを行います。1 度指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が数値でログされます。 複数回指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が名前でログされます。

syslogd デーモンは 起動時と hangup シグナルを受けとった時はいつでも設定ファイルを 読み込みます。 設定ファイルのフォーマットに関する情報は、 syslog.conf(5) 参照して下さい。

syslogd デーモンは UNIX ドメインソケット /var/run/log、 /etc/services で指定されるインターネットドメインソケット およびスペシャルデバイス /dev/klog (カーネルメッセージを読むため) からメッセージを読み込みます。

syslogd デーモンはファイル /var/run/syslog.pid を作成し、プロセス ID を記録します。 これは syslogd を kill や、設定ファイルを読み込ませるために使えます。

syslogd に送られるメッセージは単一の行で構成されます。このメッセージは先頭に優 先順位コードを含んでいます。このコードは ‘<5>’ のように括弧でくくられた 10 進数から構成されており、インクルードファイル <sys/syslog.h> で定義されている優先順位に対応します。

関連ファイル
/etc/syslog.conf
    コンフィギュレーションファイル
/var/run/syslog.pid
    動作中の syslogd のプロセスID
/var/run/log
    UNIX ドメインデータグラムのログ用ソケットの名前
/dev/klog
    カーネルログ用のデバイス

関連項目
logger(1), syslog(3), services(5), syslog.conf(5)

歴史
syslogd コマンドは 4.3BSD から登場しました。

-a, -s, -u, -v のオプションは FreeBSD 2.2 における拡張です。

バグ
UDPパケットで受けとったメッセージを記録する能力は認証されていないディ スクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に されるべきです。ある種の syslogd 間の認証メカニズムが用意されるべきでしょう。 最悪の無駄遣いを避けるために、 -a オプションの使用を強く勧めます。

-a のマッチングアルゴリズムは非常に効率的には見えません; ドメイン名比較より、数値による IP アドレスを使用する方が高速です。 許可されたピアのリストの検索は線型に行なわれるため、 多くのメッセージを受け付けると予測されるピアグループは -a リストの最初の方に置くべきです。

ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする ために /dev から移されました。このことは古いバイナリを混乱させるかもしれないので、 過渡期の間はシンボリックリンクが役に立つでしょう。