EN JA
SYSLOGD(8)
SYSLOGD(8) FreeBSD System Manager's Manual SYSLOGD(8)

名称

syslogdシステムメッセージをログ記録する

書式

syslogd [ -468ACcdkNnosTuv][ -a allowed_peer][ -b bind_address][ -f config_file][ -l [ mode:] path][ -m mark_interval][ -P pid_file][ -p log_socket]

解説

syslogd ユーティリティは、設定ファイルに指定された通りに、システムコンソール、ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。

オプションは、次の通りです:

-4
syslogd が IPv4 アドレスのみを使用するよう、強制します。
-6
syslogd が IPv6 アドレスのみを使用するよう、強制します。
-8
8 ビットデータに干渉しないように syslogd に伝えます。通常、 syslogd は、C1 制御文字 (ISO 8859 と Unicode 文字) をそれらの“M- x”同等物に置き換えます。このオプションは、 syslogd が制御文字 ( iscntrl(3) 参照) を修正する方法を変更しないことに注意してください。それらは、常に“^ x”同等物に置き換えられます。
-A
ホストが複数の A または AAAA レコードを持っている場合でも、通常 syslogd は、メッセージを単一のアドレスにのみ送信しようとします。本オプションが指定されると、 syslogd は、メッセージをすべてのアドレスに送信しようとします。
-a allowed_peer
allowed_peer がこの syslogd に UDP データグラムを使用してログすることを許します。複数の -a オプションを指定可能です。

allowed_peer オプションは、次のいずれかを指定ですます:

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

-s が指定された場合には、 -a オプションは、無視されます。

-b bind_address[ : service]
-b : service
特定のアドレスおよびポートにバインドします。ホスト名としてアドレスを、サービス名としてのポートをを指定することができます。 IPv6 アドレスが指定されるなら、それは、‘ [’と‘ ]’で囲まれるべきです。デフォルトの service は、‘ syslog’です。
-C
存在しないログファイル (パーミッションは、 0600 に設定される) を作成します。
-c
出力が他のプログラムへのパイプの場合、同じ行の繰り返しを“ last message repeated N times”という形式の単一行に圧縮することを無効化します。 2 回指定すると、すべての場合においてこの圧縮を無効化します。
-d
syslogd をデバッグモードで実行します。これは恐らく、 syslogd の開発者にのみ役立ちます。
-f
代りの設定ファイルのパス名を指定します。デフォルトは、 /etc/syslog.conf です。
-k
ファシリティ“kern”で受信したメッセージをファシリティ“user”へ変換することを、止めます。通常は、“kern”ファシリティは、直接 /dev/klog から読み込むメッセージ用に予約されています。
-m
“mark”されたメッセージの間隔を分単位で指定します。デフォルトは、20 分です。
-N
UDP ソケットでバインドを無効にします。 RFC 3164 は、発信 syslogd メッセージが、特権があるポートから起こるべきであることを勧めていて、このオプションは、お勧めの振る舞いを 無効 にします。このオプションは、 -s を引き継ぎます。
-n
すべての要求に対し、DNS への問い合わせを抑止します。
-o
カーネルメッセージの前に、 getbootfile(3) で判定される完全なカーネルブートファイルを付けます。これを指定しないと、カーネルメッセージのプレフィックスは、常に“ kernel:”になります。
-p
代りに使用するログ用ソケットのパス名を指定します。デフォルトは、 /var/run/log です。
-P
プロセス ID を格納するための別のファイルを指定します。デフォルトは、 /var/run/syslog.pid です。
-S
特権のあるアプリケーションが代わりに利用するログ用ソケットのパス名を指定します。デフォルトは、 /var/run/logpriv です。
-l
syslogd が追加のログ用ソケットを置く場所を指定します。主な用法は、様々に chroot したファイル空間において追加のログ用ソケットを /var/run/log に置くというものです。ソケットのファイルパーミッションは、ソケット名の前にコロンで区切って 8 進表記で指定可能です。ソケットの場所へのパスは、絶対パスでなければなりません。
-s
セキュアモードで操作します。リモートマシンからのログメッセージをログしません。 2 度指定すると、ネットワークソケットを全くオープンせず、またリモートマシンへのログ動作も無効にします。
-T
リモートホストによってメッセージに供給されたタイムスタンプフィールドの代わりに、ネットワークから受信されたメッセージのためにローカルの時間と日付を常に使用します。送信元ホストのいくつかが、適切に時間を保持することができないか、または正しいタイムスタンプを生成することができないなら、これは、役に立ちます。
-u
ただ 1 つの優先度のログのみ行います。指定した優先度のメッセージのみログします。このオプションを指定しないと、指定した優先度以上のメッセージがログされます。このオプションにより、デフォルトの比較を“=>”から“=”に変更します。
-v
冗長なログを行います。 1 度指定すると、ローカルに書き込まれたメッセージと共に、ファシリティと優先度が数値でログされます。複数回指定すると、ローカルに書き込まれたメッセージと共に、ファシリティと優先度が名前でログされます。

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

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

syslogd ユーティリティは、プロセス ID ファイル、デフォルトでは、 /var/run/syslog.pid を作成し、ここにプロセス ID を記録します。これは、 syslogd を kill したり、再設定したりするために使えます。

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

セキュリティ上の理由から、 syslogd は、 ( -C オプションが指定されないなら) 存在しないログファイルへ追加書き込みしません。 syslogd の起動前に手動で作成する必要があります。

日付と時間は、受信されたメッセージから取られます。タイムスタンプフィールドの形式が不正確であるなら、ローカルホストから得られた時間が、代わりに使用されます。これは、 -T フラグによって、上書きすることができます。

関連ファイル

/etc/syslog.conf
設定ファイル
/var/run/syslog.pid
デフォルトのプロセス ID ファイル
/var/run/log
UNIX ドメインデータグラムのログ用ソケットの名前
/var/run/logpriv
特権のあるアプリケーション用の UNIX ソケット
/dev/klog
カーネルログ用のデバイス

歴史

syslogd ユーティリティは、 4.3BSD で登場しました。

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

バグ

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

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

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

May 13, 2008 FreeBSD