Dec 02, 2009

[Apple] Mac OS X でログイン履歴を取得する方法

Mac OS X でログイン履歴を取得する方法をメモ。

ここ 1 週間の履歴を取得する場合

system.log からログイン履歴を取得できる。 但し、system.log は daily rotate で 7 世代まで保持なので、取得できるのは最大 1 週間程度。 何故か私の環境では rotate が止まっていたが・・・。何故??

$ sudo bzip2 -d /var/log/system.log.*.bz2
$ grep "launchd\[1\] has started up" /var/log/system.log*

ログインフック を利用してログイン履歴を保存

Mac OS X のログインフックを利用して自前でログイン履歴を保存することで 1 週間以上のログイン履歴を保持できる。

Mac OS X: ログインフックを作成する
http://support.apple.com/kb/HT2420?viewlocale=ja_JP&locale=ja_JP

まずログインフック用のシェルスクリプトを作成する。 ここでは /usr/share/login-history/login-history.sh というファイルとする。

#!/bin/sh

HISTORY_FILE=/usr/share/login-history/login-history.log
DATE=`date +'%Y/%m/%d %H:%M:%S'`
echo "$DATE" >> $HISTORY_FILE
作成したシェルスクリプトをログインフックとして登録する。
$sudo chmod 755 ./login-history/login-history.sh 
$sudo defaults write com.apple.loginwindow LoginHook /usr/

Posted in Apple | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |