LOGIN
Section: Linux Programmer's Manual (3)
Updated: 2004-05-06
Index
JM Home Page
roff page
名前
login, logout - utmp と wtmp エントリを書き込む
書式
#include <utmp.h>
void login(const struct utmp *ut);
int logout(const char *ut_line);
-lutil でリンクする。
説明
utmp ファイルは現在システムを使用しているユーザを記録する。
wtmp ファイルはすべてのログインとログアウトを記録する。
utmp(5)
を参照すること。
関数
login()
は与えられた struct utmp
ut
を utmp と wtmp ファイルの両方に書き込む。
関数
logout()
は utmp ファイルにあるエントリをクリアする。
GNU 版の詳細
より正確には、
login()
は引き数
ut
構造体をとり、(もし存在するならば) フィールド
ut->ut_type
を
USER_PROCESS
という値にし、(もし存在するならば) フィールド
ut->ut_pid
を呼び出し元プロセスのプロセス ID の値にする。
次にフィールド
ut->ut_line
の値を設定しようとする。
この関数は、標準入力・標準出力・標準エラー出力の中から
端末 (tty) である最初のものをとり、
対応するパス名から先頭の /dev/ を引いたものを
このフィールドに格納して、この構造体を utmp ファイルに書き込む。
一方、端末名が見つからない場合は、このフィールドは "???" とされて、
この構造体は utmp ファイルに書き込まれない。
その後にこの構造体は wtmp ファイルに書き込まれる。
logout()
関数は utmp ファイルから
ut_line
引き数にマッチするエントリを探す。
レコードが見つかった場合、
ut_name
と
ut_host
フィールドをクリアして、
ut_tv
タイムスタンプフィールドを更新し、
(もし存在するならば)
ut_type
フィールドを
DEAD_PROCESS
に更新する。
返り値
エントリをデータベースに書き込むのに成功した場合、
logout()
関数は 1 を返す。
またエラーが起こった場合、0 を返す。
ファイル
- /var/run/utmp
-
ユーザアカウントデータベース。
<paths.h>
における
_PATH_UTMP
で設定されている。
- /var/log/wtmp
-
ユーザアカウントログファイル。
<paths.h>
における
_PATH_WTMP
で設定されている。
準拠
POSIX.1-2001 にはない。
BSD 系に存在する。
注意
struct utmp
のメンバ
ut_user
は、BSD では
ut_name
という名前である点に注意すること。
そのため
ut_name
は
<utmp.h>
において
ut_user
のエイリアスとして定義されている。
関連項目
getutent(3),
utmp(5)
Index
- 名前
-
- 書式
-
- 説明
-
- GNU 版の詳細
-
- 返り値
-
- ファイル
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:50 GMT, November 19, 2007