LOGIN(1) | General Commands Manual | 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 Version 2 AT&T UNIX.

August 16, 2024 | Debian