| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
syslog.confファイルを編集することにより、システムが出力するメッセージを設定する。
なお、syslog.confファイルに設定できるパラメータは以下の通り。
| 送信元 | 説明 | 優先順位 | 説明 | |
|---|---|---|---|---|
| kern | カーネル | emerg | システムの緊急事態 | |
| auth | 認証 | alert | すぐに修正が必要なエラー | |
| daemon | すべてのデーモン | crit | 致命的なエラー | |
| メールシステム | 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 <= 追加 |