ログの設定
システムのメッセージ記録の設定

syslog.confファイルを編集することにより、システムが出力するメッセージを設定する。
なお、syslog.confファイルに設定できるパラメータは以下の通り。

送信元 説明
優先順位 説明
kern カーネル
emerg システムの緊急事態
auth 認証
alert すぐに修正が必要なエラー
daemon すべてのデーモン
crit 致命的なエラー
mail メールシステム
err その他のエラー
lp スプールシステム
info 情報メッセージ
user ユーザプロセス
debug デバッグ用の出力



none 出力を記録しない

すべてのログを採り、メール・認証・デーモン・ユーザプロセスをそれぞれのログファイルに記録する場合。
なお、区切りはスペースではなくタブで行わなければならないので注意する。

Solaris# vi /etc/syslog.conf <= 設定ファイルの編集
mail.debug			/var/log/mail.log <= 追加
auth.debug			/var/log/auth.log <= 追加
daemon.debug			/var/log/daemon.log <= 追加
user.debug			/var/log/user.log <= 追加

*.debug				/var/log/debug.log <= 追加

ログファイルを作成し、パーミッション・オーナを変更する。

ログファイルを作成する
Solaris# touch /var/log/mail.log
Solaris# touch /var/log/auth.log
Solaris# touch /var/log/daemon.log
Solaris# touch /var/log/user.log
Solaris# touch /var/log/debug.log
パーミッションを変更する
Solaris# chmod 600 /var/log/mail.log
Solaris# chmod 600 /var/log/auth.log
Solaris# chmod 600 /var/log/daemon.log
Solaris# chmod 600 /var/log/user.log
Solaris# chmod 600 /var/log/debug.log
グループを変更する
Solaris# chgrp sys /var/log/mail.log
Solaris# chgrp sys /var/log/auth.log
Solaris# chgrp sys /var/log/daemon.log
Solaris# chgrp sys /var/log/user.log
Solaris# chgrp sys /var/log/debug.log

syslogデーモンを再表示する。

Solaris# svcadm refresh system/system-log
ログインのログを採る

ログイン失敗操作を監視

端末ウィンドウで行われたログイン操作の失敗を記録する。
CDEログインとGNOMEログインの操作失敗は記録されない。

Solaris# touch /var/adm/loginlog <= loginlogファイルの作成
Solaris# chmod 600 /var/adm/loginlog <= パーミッションの変更
Solaris# chgrp sys /var/adm/loginlog <= グループの変更

ログインに5回失敗すると/var/adm/loginlogに記録される。
4回以下であれば記録されない。

すべてのログイン失敗操作を監視

失敗したログイン操作をすべてsyslogファイルに記録する。

Solaris# vi /etc/default/login <= 設定ファイルの編集
SYSLOG=YES <= 確認

#RETRIES=5
↓
RETRIES=5 <= 接続を遮断するログインの失敗回数

#SYSLOG_FAILED_LOGINS=5
↓
SYSLOG_FAILED_LOGINS=0 <= アクセス操作を記録する失敗したログイン回数( 0 だとすべて記録)

ログファイルを作成し、パーミッションとグループを変更する。

Solaris# touch /var/adm/authlog <= ログファイルの作成
Solaris# chmod 600 /var/adm/authlog <= パーミッションの変更
Solaris# chgrp sys /var/adm/authlog <= グループの変更

失敗したパスワード操作をauthlogに送るようにsyslog.confファイルを編集する。
なお、区切りはスペースではなくタブで行わなければならないので注意する。

Solaris# vi /etc/syslog.conf <= 設定ファイルの編集
auth.notice			/var/adm/authlog <= 追加

syslogデーモンを再表示する。

Solaris# svcadm refresh system/system-log
ログのローテート

logadmコマンドを用いてログのローテートを行う。
主なオプションは以下の通り。

オプション 説明
-A 指定した時間変更が無かったバージョンを削除する。
d(day),w(week),m(month),y(year)を使う。
-a ログファイルのリネーム後に #!sh -c で行なうコマンドを指定する。
-b ログファイルのリネーム前に #!sh -c で行なうコマンドを指定する。
-C 指定したカウント以上の古いものは削除する(デフォルト:10)。
-c リネームではなく、コピーして元のファイルの長さを0にする。
-E 古いファイルを消すのではなく、#!sh -c でコマンドを実行する。
-e エラーを指定したメールアドレスに送信する。
-f 設定ファイルを指定する。
-g 新しいファイルを作るときのグループを指定する。
-m 新しいファイルを作るときのモードを指定する。
-N ログファイルが無い場合、エラーを吐くようにする。
-n デバッグ用(実際には何もしない)。
-o 新しいファイルを作るときのオーナーを指定する。
-P ローテートされた時のタイムスタンプ。
-p 指定した周期でログファイルを回す。d(day),w(week),m(month),y(year)が使える。
-p now : 直ちに実行。
-R 古いファイルがログローテーションで作られたら実行するコマンド。
-r ローテートせずに削除する。
-S ディスク空き容量が指定したサイズより少ない限り、最古のバージョンを消す。
-s 指定したサイズより大きくなったらローテーションする。b(byte),k(kilo),m(mega),g(giga)が使える。
-T パターンを指定する(*等の特殊文字が使える)。
-t ログファイルのリネームのテンプレート(デフォルト:$file.$n)。
-w 行っているエントリをエントリファイルに書き込む(ログファイルを指定)。
-z gzipで、指定した値以上のファイルを圧縮する。

「Apache」のログのローテートを1週間ごとに行い、4世代にする場合。

Solaris# /usr/sbin/logadm -w /var/apache2/logs/access_log \
-p 1w -C 4 -a '/usr/apache2/bin/apachectl graceful'

logadmの設定ファイルは /etc/logadm.conf なので、設定ファイルに直接記述して構わない。
上記の「Apache」のログのローテートを記述する場合は以下のようになる。

Solaris# vi /etc/logadm.conf <= 設定ファイルの編集
/var/apache2/logs/access_log -C 4 -a '/usr/apache2/bin/apachectl graceful' -p 1w <= 追加
▲ページのトップへ