.\" -*- coding: UTF-8 -*- '\" t .\" Derived from text written by Martin Schulze (or taken from glibc.info) .\" and text written by Paul Thompson - both copyright 2002. .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH login 3 "31 октября 2023 г." "Linux man\-pages 6.06" .SH ИМЯ login, logout \- добавление записей utmp и wtmp .SH LIBRARY System utilities library (\fIlibutil\fP, \fI\-lutil\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBvoid login(const struct utmp *\fP\fIut\fP\fB);\fP \fBint logout(const char *\fP\fIut_line\fP\fB);\fP .fi .SH ОПИСАНИЕ В файл utmp записываются все, кто в данный момент пользуется системой. В файле wtmp записываются все входы и выходы пользователей. См \fButmp\fP(5). .P Функция \fBlogin\fP() принимает указанные \fIstruct utmp\fP, \fIut\fP и записывает их в файлы utmp и wtmp. .P Функция \fBlogout\fP() очищает запись в файле utmp. .SS "Особенности GNU" Если быть точнее, функция \fBlogin\fP() получает структуру \fIut\fP в качестве аргумента, заполняет поле \fIut\->ut_type\fP (если такое поле есть) значением \fBUSER_PROCESS\fP и поле \fIut\->ut_pid\fP (если такое поле есть) идентификатором вызывающего процесса (PID). После этого она пытается заполнить поле \fIut\->ut_line\fP. Функция берёт первый \fIstdin\fP, \fIstdout\fP, \fIstderr\fP, являющийся терминалом, и сохраняет соответствующий путь (за исключением \fI/dev/\fP спереди) в это поле, после чего записывает структуру в файл utmp. В случае, если имя терминала не будет обнаружено, данное поле будет заполнено «???», а структура не будет записана в файл utmp. После этого структура будет записана в файл wtmp. .P Функция \fBlogout\fP() ищет в файле utmp запись, соответствующую аргументу \fIut_line\fP. Если запись находится, она обновляется заполнением нулям полей \fIut_name\fP и \fIut_host\fP, обновляется временная отметка в поле \fIut_tv\fP, а поле \fIut_type\fP (если такое поле есть) устанавливается в \fBDEAD_PROCESS\fP. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функция \fBlogout\fP() возвращает 1, если запись была успешно записана в базу данных, и 0, если возникла ошибка. .SH ФАЙЛЫ .TP \fI/var/run/utmp\fP база учётных записей пользователей, настраивается через \fB_PATH_UTMP\fP в \fI\fP .TP \fI/var/log/wtmp\fP файл журнала учёта пользователей, настраивается через \fB_PATH_WTMP\fP в \fI\fP .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Интерфейс Атрибут Значение T{ .na .nh \fBlogin\fP(), \fBlogout\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:utent sig:ALRM timer T} .TE .P В приведённой выше таблице \fIutent\fP в \fIrace:utent\fP означает, что если любая из функций \fBsetutent\fP(3), \fBgetutent\fP(3) или \fBendutent\fP(3) используется одновременно в нескольких нитях программы, то может возникнуть состязательность по данным. Эти функции вызываются из \fBlogin\fP() и \fBlogout\fP(), поэтому мы используем race:utent для напоминания. .SH ВЕРСИИ The member \fIut_user\fP of \fIstruct utmp\fP is called \fIut_name\fP in BSD. Therefore, \fIut_name\fP is defined as an alias for \fIut_user\fP in \fI\fP. .SH СТАНДАРТЫ BSD. .SH "СМ. ТАКЖЕ" \fBgetutent\fP(3), \fButmp\fP(5) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Artyom Kunyov , Azamat Hackimov , Dmitry Bolkhovskikh , Katrin Kutepova , Konstantin Shvaykovskiy , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .