Man page - login(3)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

login

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
Особенности GNU
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ФАЙЛЫ
АТРИБУТЫ
ВЕРСИИ
СТАНДАРТЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

login, logout - добавление записей utmp и wtmp

БИБЛИОТЕКА

System utilities library ( libutil , -lutil )

ОБЗОР

#include <utmp.h>

void login(const struct utmp * ut );
int logout(const char *
ut_line );

ОПИСАНИЕ

В файл utmp записываются все, кто в данный момент пользуется системой. В файле wtmp записываются все входы и выходы пользователей. См utmp (5).

Функция login () принимает указанные struct utmp , ut и записывает их в файлы utmp и wtmp.

Функция logout () очищает запись в файле utmp.

Особенности GNU

Если быть точнее, функция login () получает структуру ut в качестве аргумента, заполняет поле ut->ut_type (если такое поле есть) значением USER_PROCESS и поле ut->ut_pid (если такое поле есть) идентификатором вызывающего процесса (PID). После этого она пытается заполнить поле ut->ut_line . Функция берёт первый stdin , stdout , stderr , являющийся терминалом, и сохраняет соответствующий путь (за исключением /dev/ спереди) в это поле, после чего записывает структуру в файл utmp. В случае, если имя терминала не будет обнаружено, данное поле будет заполнено «???», а структура не будет записана в файл utmp. После этого структура будет записана в файл wtmp.

Функция logout () ищет в файле utmp запись, соответствующую аргументу ut_line . Если запись находится, она обновляется заполнением нулям полей ut_name и ut_host , обновляется временная отметка в поле ut_tv , а поле ut_type (если такое поле есть) устанавливается в DEAD_PROCESS .

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функция logout () возвращает 1, если запись была успешно записана в базу данных, и 0, если возникла ошибка.

ФАЙЛЫ

/var/run/utmp

база учётных записей пользователей, настраивается через _PATH_UTMP в <paths.h>

/var/log/wtmp

файл журнала учёта пользователей, настраивается через _PATH_WTMP в <paths.h>

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes (7).

Image grohtml-625307-1.png

В приведённой выше таблице utent в race:utent означает, что если любая из функций setutent (3), getutent (3) или endutent (3) используется одновременно в нескольких нитях программы, то может возникнуть состязательность по данным. Эти функции вызываются из login () и logout (), поэтому мы используем race:utent для напоминания.

ВЕРСИИ

The member ut_user of struct utmp is called ut_name in BSD. Therefore, ut_name is defined as an alias for ut_user in <utmp.h> .

СТАНДАРТЫ

BSD.

СМОТРИТЕ ТАКЖЕ

getutent (3), utmp (5)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Artyom Kunyov <artkun@guitarplayer.ru>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Konstantin Shvaykovskiy <kot.shv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .