UTMP

Section: File Formats (5)
索引 jman

BSD mandoc
 

索引

名称

utmp wtmp lastlog - ログイン記録  

索引

書式

In sys/types.h In utmp.h  

索引

解説

In utmp.h ファイルは、 ファイルでの現在のユーザについての情報や wtmp ファイル中でのログインやログアウトの情報、 lastlog ファイル中での最終ログイン情報の記録のために使われる構造体を 宣言しています。 時刻の変更やシャットダウンおよびリブートのタイムスタンプは、同じように wtmp ファイルに記録されます。
#define _PATH_UTMP      "/var/run/utmp"
#define _PATH_WTMP      "/var/log/wtmp"
#define _PATH_LASTLOG   "/var/log/lastlog"

#define UT_NAMESIZE     16
#define UT_LINESIZE     8
#define UT_HOSTSIZE     16

struct lastlog {
        int32_t ll_time;                /* ユーザが何時ログインしたか */
        char    ll_line[UT_LINESIZE];   /* 端末線名 */
        char    ll_host[UT_HOSTSIZE];   /* ユーザの出身ホスト */
};

struct utmp {
        char    ut_line[UT_LINESIZE];   /* 端末線名 */
        char    ut_name[UT_NAMESIZE];   /* ユーザのログイン名 */
        char    ut_host[UT_HOSTSIZE];   /* ユーザの出身ホスト */
        int32_t ut_time;                /* ユーザが何時ログインしたか */
};

lastlog ファイルは、 Vt lastlog 構造体の線型配列であり、ユーザの UID でインデックスされています。 ファイルは、 Vt utmp 構造体の線型配列であり、端末線番号 ( ttyslot(3) 参照) でインデックスされています。 wtmp ファイルは、 Vt utmp 構造体から成るバイナリログファイルであり、 ファイルの終端に追記されていきます。

デフォルトでは、ユーザがログインするたびに、 pam_lastlog8 プログラムは lastlog ファイル中のユーザの UID を検索します。 もし見つかった場合、ユーザが最後にログインした時刻のタイムスタンプ、 端末線、ホスト名が標準出力に書き出されます。 pam_lastlog8 プログラムは、その後 lastlog ファイルに新しいログイン時刻を記録します。

新しい Vt lastlog への記録が書き出された後で、 ファイルがオープンされ、ユーザに対する Vt utmp 記録が挿入されます。 この記録は、ユーザがログアウトして削除される時まで保持されます。 ファイルは、 rwho(1), users(1), w(1), who(1) プログラムで使われます。

次に、 pam_lastlog8 プログラムは wtmp ファイルをオープンし、ユーザの Vt utmp 記録を追加します。 その後ユーザが端末線からログアウトすると、特別な Vt utmp レコードが記録されます。 すなわち ut_line が適切に設定され、 ut_time が更新されますが、 ut_nameut_host は空であるものが記録されます ( init(8) 参照)。 wtmp ファイルは、 last(1) と ac(8) プログラムで使われます。

時刻変更やシャットダウン・リブートの際には、 以下の項目が wtmp ファイルに記録されます。

reboot
shutdown
システムのリブートやシャットダウンが開始された。 ut_line フィールドに `~' と言う文字が、 ut_name フィールド中に reboot もしくは shutdown が記録されます ( shutdown(8) と reboot(8) 参照)。

date
システム時刻が手動もしくは自動で更新された ( date(1) 参照)。 コマンド名 date がフィールド ut_name に記録されます。 Fa ut_line フィールド中の `|' 文字は、変更前の時刻を示し、 `{' 文字は新しい時刻を示しています。

 

索引

wtmp ファイルは、忙しいシステムでは急速に大きくなりますので、 毎日もしくは毎週ローテーションすることを推奨します。 このファイルは、 newsyslog(8) によって管理されます。

これらのファイルが存在しない場合、 pam_lastlog8 はこれらを作成しません。 これらのファイルは、手動で作成する必要があります。

および wtmp のファイルに対する通常の操作は、提供された login(3), logout(3), logwtmp(3) ユーティリティ関数で行い、 これらのファイルの書式が異なるシステム間での互換性を維持すべきです。  

索引

関連ファイル

/var/run/utmp
ファイル。
/var/log/wtmp
wtmp ファイル。
/var/log/lastlog
lastlog ファイル。

 

索引

関連項目

last(1), w(1), who(1), login(3), logout(3), logwtmp(3), ttyslot(3), ac(8), init(8), pam_lastlog8  

索引

歴史

wtmp ファイル書式は AT&T System v6 から登場しました。 lastlog ファイル書式は BSD 3.0 から登場しました。


 

索引

Index

名称
書式
解説
関連ファイル
関連項目
歴史

jman



Time: 07:07:31 GMT, January 12, 2009