必読!ログファイルとディレクトリ

2008年12月2日(火)
菊地 宏一郎

ログイン情報に関するログ

はじめに、ログインに関する情報を記録するログファイルである、「/var/log/wtmp」「/var/log/btmp」「/var/log/faillog」「/var/log/lastlog」「/var/log/tallylog」の5ファイルについて説明します。

これらのファイルは、いずれもバイナリ形式で、情報の参照には専用のコマンドを利用する、という共通の特徴を持っています。

/var/log/wtmpは、システムに対するログイン試行のうち、成功したものについて、その情報を記録したファイルです。ユーザー名、ログイン端末、ログイン元ホスト、ログイン時刻およびログアウト時刻が記録されています。情報の参照には、lastコマンド(/usr/bin/last)を使います。なお、/var/log/wtmpには、システムの再起動情報が、rebootというユーザーがシステムにログインしたものとして記録されます。図2にlastコマンドの実行例を掲載していますので、適宜参照してください。

/var/log/btmpは、/var/log/wtmpとは反対に、システムに対するログイン試行のうち、失敗したものについて、その情報を記録したファイルです。存在しないアカウントでのログインや、パスワードの入力ミスなど、ログインに失敗した際の情報が記録されています。

/var/log/btmpには、/var/log/wtmp同様、ユーザー名、ログイン端末、ログイン元ホスト、ログイン時刻およびログアウト時刻が記録されており、情報の参照には、lastbコマンド(/usr/bin/lastb)を使います。lastbコマンドの使い方はlastコマンドと同じですが、ファイルがrootユーザーのみ読み書きできるようになっているため、実行にはroot権限が必要です。

/var/log/lastlogは、システムに登録されているユーザーの最終ログイン時刻を記録したファイルです。情報の参照には、lastlogコマンド(/usr/bin/lastlog)を使います。

/var/log/faillogはログインの失敗を記録するファイルです。/var/log/btmpが不正なログインすべてを記録するのに対し、/var/log/faillogはユーザーごとにログインの失敗回数を記録します。また、このファイルには、ユーザーごとのログイン最大失敗回数を設定しておくことができ、認証にpam_tallyモジュールを使うようPAMを設定しておくと、一定回数ログインに失敗したユーザーに対し、アカウントロックを行うことが可能です。

/var/log/faillogの管理にはfaillogコマンド(/usr/bin/faillog)が用意されており、faillogコマンドひとつで、情報の参照だけでなく、ログインの最大失敗回数の設定や失敗回数のクリアを行うことが可能です。

/var/log/tallylogは、/var/log/faillogと同じくユーザーごとのログイン失敗回数を記録するファイルです。/var/log/faillogの形式がi386のシステムとx86_64のシステムとで異なることから、アーキテクチャに依存しないファイル形式として/var/log/tallylogが用意されています。

/var/log/tallylogを使う場合、認証にはpam_tally2を使うようにPAMを設定する必要があります。また、faillogコマンド相当のファイルとしてpam_tally2コマンド(/sbin/pam_tally2)が用意されており、/var/log/tallylogファイルの管理には、pam_tally2コマンドを使います。

syslogを利用したログ

続いて、syslogを使って記録されるログファイルである、「/var/log/boot.log」「/var/log/cron」「/var/log/maillog」「/var/log/secure」「/var/log/spooler」「/var/log/messages」の6つのログファイルについて説明します(syslogについては第2回で説明します)。

なお、これらはいずれもテキストファイルですので、適当なエディターやビューワで閲覧できます。

/var/log/boot.logは、システム起動時のサービスの起動メッセージなどが記録されるファイルです。ただ、Fedora Core 4以降およびRHEL5/CentOS 5では、バグのために/var/log/boot.logにはシステム起動時のメッセージは記録されなくなっています。

/var/log/cronは、cronやatdのようなクロックデーモンのログが記録されるファイルです。いつ、どのユーザーでどのコマンドが実行されたかが記録されています。

/var/log/maillogは、メールシステムのログが記録されるファイルです。MTAが処理したメールの送受信記録はこのファイルに保存されています。

/var/log/secureは、認証に関するログが記録されるファイルです。sshdやsudoコマンドなどのログが記録されています。

/var/log/spoolerは、UUCP(Unix to Unix CoPy、2つのUNIX*システム間でデータ交換を行うための一連のプログラム群)のログが記録されるファイルです。

/var/log/messagesは、上記以外のsyslogメッセージが記録されるログファイルです。カーネルメッセージから上記に該当しないプログラムのログメッセージまで、雑多のメッセージが記録されています。

株式会社アールワークス

大学在学時に FreeBSDユーザーになり、その流れで非Windows 系の仕事を求め 2006年アールワークス入社。 現在はネットワークインテグレーション部に在籍し、日々顧客システムの問題を解決すべく奮闘中。http://www.rworks.jp/index.php

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています