271 lines
6.0 KiB
Groff
271 lines
6.0 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)utmp.5 8.2 (Berkeley) 3/17/94
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd November 14, 2001
|
|
.Dt UTMP 5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm utmp ,
|
|
.Nm wtmp ,
|
|
.Nm lastlog
|
|
.Nd login records
|
|
.Sh SYNOPSIS
|
|
.In sys/types.h
|
|
.In utmp.h
|
|
.Sh DESCRIPTION
|
|
The file
|
|
.Aq Pa utmp.h
|
|
declares the structures used to record information about current
|
|
users in the file
|
|
.Nm ,
|
|
logins and logouts in the file
|
|
.Nm wtmp ,
|
|
and last logins in the file
|
|
.Nm lastlog .
|
|
The time stamps of date changes, shutdowns and reboots are also logged in
|
|
the
|
|
.Nm wtmp
|
|
file.
|
|
.Bd -literal -offset indent
|
|
#define _PATH_UTMP "/var/run/utmp"
|
|
#define _PATH_WTMP "/var/log/wtmp"
|
|
#define _PATH_LASTLOG "/var/log/lastlog"
|
|
|
|
#define UT_NAMESIZE 16
|
|
#define UT_LINESIZE 8
|
|
#define UT_HOSTSIZE 16
|
|
|
|
struct lastlog {
|
|
int32_t ll_time; /* When user logged in */
|
|
char ll_line[UT_LINESIZE]; /* Terminal line name */
|
|
char ll_host[UT_HOSTSIZE]; /* Host user came from */
|
|
};
|
|
|
|
struct utmp {
|
|
char ut_line[UT_LINESIZE]; /* Terminal line name */
|
|
char ut_name[UT_NAMESIZE]; /* User's login name */
|
|
char ut_host[UT_HOSTSIZE]; /* Host user came from */
|
|
int32_t ut_time; /* When user logged in */
|
|
};
|
|
.Ed
|
|
.Pp
|
|
The
|
|
.Nm lastlog
|
|
file is a linear array of
|
|
.Vt lastlog
|
|
structures indexed by a user's
|
|
.Tn UID .
|
|
The
|
|
.Nm
|
|
file is a linear array of
|
|
.Vt utmp
|
|
structures indexed by a terminal line number
|
|
(see
|
|
.Xr ttyslot 3 ) .
|
|
The
|
|
.Nm wtmp
|
|
file consists of
|
|
.Vt utmp
|
|
structures and is a binary log file,
|
|
that is, grows linearly at its end.
|
|
.Pp
|
|
Each time a user logs in, the
|
|
.Xr login 1
|
|
program looks up the user's
|
|
.Tn UID
|
|
in the file
|
|
.Nm lastlog .
|
|
If it is found, the timestamp of the last time the user logged
|
|
in, the terminal line and the hostname
|
|
are written to the standard output (unless the login is
|
|
.Em quiet ,
|
|
see
|
|
.Xr login 1 ) .
|
|
The
|
|
.Xr login 1
|
|
program then records the new login time in the file
|
|
.Nm lastlog .
|
|
.Pp
|
|
After the new
|
|
.Vt lastlog
|
|
record is written,
|
|
.\" the
|
|
.\" .Xr libutil 3
|
|
.\" routine
|
|
the file
|
|
.Nm
|
|
is opened and the
|
|
.Vt utmp
|
|
record for the user is inserted.
|
|
This record remains there until
|
|
the user logs out at which time it is deleted.
|
|
The
|
|
.Nm
|
|
file is used by the programs
|
|
.Xr rwho 1 ,
|
|
.Xr users 1 ,
|
|
.Xr w 1 ,
|
|
and
|
|
.Xr who 1 .
|
|
.Pp
|
|
Next, the
|
|
.Xr login 1
|
|
program opens the file
|
|
.Nm wtmp ,
|
|
and appends the user's
|
|
.Vt utmp
|
|
record.
|
|
The user's subsequent logout from the terminal
|
|
line is marked by a special
|
|
.Vt utmp
|
|
record with
|
|
.Va ut_line
|
|
set accordingly,
|
|
.Va ut_time
|
|
updated, but
|
|
.Va ut_name
|
|
and
|
|
.Va ut_host
|
|
both empty
|
|
(see
|
|
.Xr init 8 ) .
|
|
The
|
|
.Nm wtmp
|
|
file is used by the programs
|
|
.Xr last 1
|
|
and
|
|
.Xr ac 8 .
|
|
.Pp
|
|
In the event of a date change, a shutdown or reboot, the
|
|
following items are logged in the
|
|
.Nm wtmp
|
|
file.
|
|
.Pp
|
|
.Bl -tag -width ".Li shutdown" -compact
|
|
.It Li reboot
|
|
.It Li shutdown
|
|
A system reboot or shutdown has been initiated.
|
|
The character
|
|
.Ql \&~
|
|
is placed in the field
|
|
.Va ut_line ,
|
|
and
|
|
.Li reboot
|
|
or
|
|
.Li shutdown
|
|
in the field
|
|
.Va ut_name
|
|
(see
|
|
.Xr shutdown 8
|
|
and
|
|
.Xr reboot 8 ) .
|
|
.Pp
|
|
.It Li date
|
|
The system time has been manually or automatically updated
|
|
(see
|
|
.Xr date 1 ) .
|
|
The command name
|
|
.Li date
|
|
is recorded in the field
|
|
.Va ut_name .
|
|
In the field
|
|
.Va ut_line ,
|
|
the character
|
|
.Ql \&|
|
|
indicates the time prior to the change, and the character
|
|
.Ql \&{
|
|
indicates the new time.
|
|
.El
|
|
.Sh NOTES
|
|
The
|
|
.Nm wtmp
|
|
file can grow rapidly on busy systems, so daily or weekly rotation
|
|
is recommended.
|
|
It is maintained by
|
|
.Xr newsyslog 8 .
|
|
.Pp
|
|
If any one of these files does not exist, it is not created by
|
|
.Xr login 1 .
|
|
They must be created manually.
|
|
.Pp
|
|
The supplied
|
|
.Xr login 3 ,
|
|
.Xr logout 3 ,
|
|
and
|
|
.Xr logwtmp 3
|
|
utility functions should be used to perform
|
|
the standard actions on the
|
|
.Nm
|
|
and
|
|
.Nm wtmp
|
|
files in order to maintain the portability across
|
|
systems with different formats of those files.
|
|
.Sh FILES
|
|
.Bl -tag -width ".Pa /var/log/lastlog" -compact
|
|
.It Pa /var/run/utmp
|
|
The
|
|
.Nm
|
|
file.
|
|
.It Pa /var/log/wtmp
|
|
The
|
|
.Nm wtmp
|
|
file.
|
|
.It Pa /var/log/lastlog
|
|
The
|
|
.Nm lastlog
|
|
file.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr last 1 ,
|
|
.Xr login 1 ,
|
|
.Xr w 1 ,
|
|
.Xr who 1 ,
|
|
.Xr login 3 ,
|
|
.Xr logout 3 ,
|
|
.Xr logwtmp 3 ,
|
|
.Xr ttyslot 3 ,
|
|
.Xr ac 8 ,
|
|
.Xr init 8
|
|
.Sh HISTORY
|
|
A
|
|
.Nm
|
|
and
|
|
.Nm wtmp
|
|
file format appeared in
|
|
.At v6 .
|
|
The
|
|
.Nm lastlog
|
|
file format appeared in
|
|
.Bx 3.0 .
|