OpenBSD manual page server

Manual Page Search Parameters

LOGIN(1) General Commands Manual LOGIN(1)

loginlog into the computer

login [-fp] [-h hostname] [-L local-addr] [-R remote-addr] [-u username] [user]

The login utility logs users (and pseudo-users) into the computer system.

If no user is specified, or if a user is specified and authentication of the user fails, login prompts for a user name. Authentication of users is normally done via passwords, though external authentication mechanisms may be used (see login.conf(5)). To specify the alternate authentication mechanism style, the string :style is appended to the user name (i.e., user:style).

The options are as follows:

The -f option is used when a user name is specified to indicate that proper authentication has already been done and that no password need be requested. This option may only be used by the superuser.
hostname
Specifies the host from which the connection was received. This option may only be used by the superuser.
local-addr
The -L option specifies the local address of a socket. This information is passed on to any classify script (see login.conf(5)).
By default, login discards any previous environment. The -p option disables this behavior.
remote-addr
The -R option specifies the remote address of a socket. This information is passed on to any classify script (see login.conf(5)).
username
Specifies the remote user that initiated the connection. This option may only be used by the superuser.

If the file /etc/nologin exists (and the “ignorenologin” boolean is not set in the user's login class), login displays its contents to the user and exits. This is used by shutdown(8) to prevent users from logging in when the system is about to go down.

If the file /etc/fbtab exists, login changes the protection and ownership of certain devices specified in this file.

If the file /var/log/failedlogin exists, login will record failed login attempts in this file.

Immediately after logging a user in, login displays the system copyright notice, the date and time the user last logged in, the date and time of the last unsuccessful login (if the file /var/log/failedlogin exists), the message of the day as well as other information. If the file “.hushlogin” exists in the user's home directory, all of these messages are suppressed. This is to simplify logins for non-human users. login then records an entry in the wtmp(5) and utmp(5) files and executes the user's command interpreter.

login enters information into the environment (see environ(7)) specifying the user's home directory (HOME), command interpreter (SHELL), search path (PATH), terminal type (TERM), and user name (both LOGNAME and USER).

The standard shells, csh(1) and sh(1), do not fork before executing the login utility.

Note that if login is invoked by a non-root user, it will execute su(1) in login emulation mode instead.

login sets the following environment variables:

The user's home directory, as specified by the password database.
The user's shell, as specified by the password database.
The user's terminal type, if it can be determined.
The user's login name.
Same as LOGNAME.
The user's mailbox.
The name of the host from which the user logged in, if the -h flag was specified.
The name of the remote user who initiated the connection, if the -u flag was specified.

Other environment variables may be specified in /etc/login.conf via the “setenv” capability.

/etc/fbtab
changes device protections
/etc/login.conf
login configuration
/etc/motd
message-of-the-day
/etc/nologin
disallows logins
/var/log/failedlogin
failed login account records
/var/log/lastlog
last login account records
/var/log/wtmp
login account records
/var/mail/user
system mailboxes
/var/run/utmp
current logins
.hushlogin
makes login quieter

chpass(1), passwd(1), su(1), readpassphrase(3), setusercontext(3), fbtab(5), login.conf(5), utmp(5), environ(7)

A login utility appeared in Version 2 AT&T UNIX.

August 16, 2024 OpenBSD-current