LOGIN(1)

NAME
login - log into the computer

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

DESCRIPTION
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:

-f  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.

-h hostname
    Specifies the host from which the connection was received. This option may only be used by the superuser.

-L 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)).

-p  By default, login discards any previous environment. The -p option disables this behavior.

-R 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)).

-u 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.

ENVIRONMENT
login sets the following environment variables:

HOME
    The user's home directory, as specified by the password database.

SHELL
    The user's shell, as specified by the password database.

TERM
    The user's terminal type, if it can be determined.

LOGNAME
    The user's login name.

USER
    Same as LOGNAME.

MAIL
    The user's mailbox.

REMOTEHOST
    The name of the host from which the user logged in, if the -h flag was specified.

REMOTEUSER
    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.

FILES
/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

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

HISTORY
A login utility appeared in AT&T UNIX.