LOGIN(1)

NAME
login - sign on

SYNOPSIS
login [ -p ] [ username ]
login [ -p ] [ -h hostname ] [ -f ] [ username ]

DESCRIPTION
The login command is used when a user initially signs on, or it may be used at any time to change from one user to another. The latter case is the one summarized above and described here. See “How to Get Started” for how to dial up initially.

If login is invoked without an argument, it asks for a user name, and, if appropriate, a password. Echoing is turned off (if possible) during the typing of the password, so it will not appear on the written record of the session.

After a successful login, accounting files are updated and the user is informed of the existence of mail, and the message of the day is printed, as is the time he last logged in (unless he has a “.hushlogin” file in his home directory - this is mostly used to make life easier for non-human users, such as uucp).

Login initializes the user and group IDs and the working directory, then executes a command interpreter (usually sh(1)) according to specifications found in a password file. Argument 0 of the command interpreter is “-sh”, or more generally the name of the command interpreter with a leading dash (“-”) prepended.

Login also modifies the environment environ(7) with information specifying home directory ($HOME), command interpreter ($SHELL), terminal type (if available-$TERM), user name ($USER, $LOGNAME), search path ($PATH), mail file ($MAIL), timezone ($TZ), and per universe path ($UCBPATH, $ATTPATH) and shell ($UCBSHELL, $ATTSHELL) information. The `-p' argument causes the remainder of the environment to be preserved, otherwise any previous environment is discarded.

Login sets the universe (see universe(1)) to “ucb” by default; this can be changed to “att” by having the string “universe(att)” appear anywhere in the “GCOS” field (field 5) of the /etc/passwd entry for the user (see passwd(5)).

If the file /etc/nologin exists, login prints its contents on the user's terminal and exits. This is used by shutdown(8) to stop users logging in when the system is about to go down. Attempts to log in as “root” on terminals that are not listed in the file /etc/securetty will fail. If /etc/securetty does not exist, ``root'' may log in on any terminal.

Login is recognized by sh(1) and csh(1) and executed directly (without forking).

There are several additional options to login for use at initial login. With one exception, these options are available only to the superuser. The -h option is used by telnetd(8C) and other servers to list the host from which the connection was received. The -f option is used with a username on the command line to indicate that proper authentication has already been done and that no password need be requested. This option may be used by the superuser or by the user specified on the command line.

FILES
/etc/utmp    accounting
/usr/adm/wtmp    accounting
/usr/adm/lastlog    stores last user login
    (also used by finger(1) and uucp(8c))
/usr/spool/mail/*    mail
/etc/motd    message-of-the-day
/etc/passwd    password file
/etc/nologin    stops logins
.hushlogin    makes login quieter
/etc/securetty    lists ttys that root may log in on

SEE ALSO
init(8), getty(8), mail(1), passwd(1), passwd(5), environ(7), universe(1), shutdown(8)

DIAGNOSTICS
“Login incorrect,” if the name or the password is bad.
“No Shell”, “cannot open password file”, “no directory”: consult your system administrator.

BUGS
An undocumented option, -r is used by the remote login server, rlogind(8C) to force login to enter into an initial connection protocol.