Man page - login(3)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

LOGIN

名 前
書 式
説 明
GNU 版 の 詳 細
返 り 値
フ ァ イ ル
属 性
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

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) を 参 照 。

Image grohtml-37306-1.png

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/ に 書 か れ て い る 。