LOGIN
Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home 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 の値を設定しようとする。 この関数は、標準入力・標準出力・標準エラー出力の中から端末である最初のものをとり、対応するパス名から先頭の /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 で設定されている。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース |
属性 |
値
|
login(),
logout() |
Thread safety |
MT-Unsafe race:utent
sig:ALRM timer
|
In the above table, utent in race:utent signifies that if any of the functions setutent(3), getutent(3), or endutent(3) are used in parallel in different threads of a program, then data races could occur. login() and logout() calls those functions, so we use race:utent to remind users.
準拠
POSIX.1 にはない。 BSD 系に存在する。
注意
struct utmp のメンバ ut_user は、BSD では ut_name という名前である点に注意すること。 そのため ut_name は <utmp.h> において ut_user のエイリアスとして定義されている。
関連項目
getutent(3), utmp(5)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
関連キーワード
utmp,
フィールド,
logout,
LOGIN,
login,
関数,
wtmp,
utent,
存在,
エントリー
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名前
- 書式
- 説明
-
- GNU 版の詳細
- 返り値
- ファイル
- 属性
- 準拠
- 注意
- 関連項目
- この文書について
This document was created by man2html, using the manual pages.
Time: 12:08:45 GMT, June 11, 2022