Linuxシステムは、システムの動作状況、エラー、セキュリティイベントなどを記録するために様々なログファイルを生成します。これらのログファイルは、システムの監視、トラブルシューティング、セキュリティ監査に不可欠です。
主要なログファイル
ログファイルは通常 /var/log ディレクトリ以下に保存されています。
1. /var/log/messages (または syslog)
- 内容: システム全体の一般的な情報、カーネルメッセージ、システムデーモンからのメッセージ、ハードウェア関連のイベントなどが記録されます。
- 場所: ディストリビューションによってファイル名が異なります。
- Red Hat系 (CentOS, Fedora):
/var/log/messages - Debian系 (Ubuntu):
/var/log/syslog
- Red Hat系 (CentOS, Fedora):
2. /var/log/secure (または auth.log)
- 内容: 認証関連のイベント、セキュリティ関連の情報が記録されます。ログイン試行、sudoコマンドの実行、SSH接続などが含まれます。
- 場所:
- Red Hat系:
/var/log/secure - Debian系:
/var/log/auth.log
- Red Hat系:
3. /var/log/wtmp
- 内容: システムへのログインおよびログアウトの履歴が記録されます。バイナリ形式で保存されており、直接テキストエディタで開いても読めません。
- 閲覧コマンド:
lastこのコマンドは、ユーザーのログイン/ログアウト履歴、システムのリブート履歴などを表示します。last
4. /var/run/utmp (または /var/log/utmp)
- 内容: 現在ログインしているユーザーの情報が記録されます。これもバイナリ形式です。
- 閲覧コマンド:
who,w,userswho # 現在ログインしているユーザーの一覧 w # 現在ログインしているユーザーと、そのユーザーが実行しているプロセス users # 現在ログインしているユーザー名のみ
5. /var/log/lastlog
- 内容: 各ユーザーの最終ログイン日時が記録されます。これもバイナリ形式です。
- 閲覧コマンド:
lastlogこのコマンドは、システム上の全ユーザーの最終ログイン情報を表示します。lastlog
ログファイルの閲覧と管理
ログファイルは時間とともに大きくなるため、定期的な管理が必要です。
- リアルタイム監視:
tail -f /var/log/syslogのように-fオプションを付けてtailコマンドを使用すると、ログファイルの末尾に追記される内容をリアルタイムで表示できます。 - 検索:
grepコマンドを使って、特定のキーワードを含む行を検索できます。grep "error" /var/log/messages - ページング:
lessやmoreコマンドを使って、長いログファイルをページ単位で閲覧できます。less /var/log/secure - ログローテーション:
logrotateサービスが、ログファイルを定期的に圧縮、削除、または新しいファイルに切り替えることで、ディスク容量の消費を抑えます。設定は/etc/logrotate.confや/etc/logrotate.d/ディレクトリ内のファイルで行われます。
これらのログファイルとコマンドを理解することで、Linuxシステムの健全性を維持し、問題発生時に迅速に対応できるようになります。