Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all
名前
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 の値を設定しようとす る。 この関数は、標準入力・標準出力・標準エラー出力の中から端末である最初のものをとり、対 応するパス名から先頭の /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)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。