If no user is specified, or if a user is specified and authentication of the user fails, prompts for a user name. Authentication of users is done via passwords.
The options are as follows:
If the file /etc/nologin exists, 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/login.access exists, checks to see if the user and host pair are specifically allowed or denied access. Login access may also be controlled via the login class, which provides allow and deny records based on time, tty and remote host name.
If the file /etc/fbtab exists, changes the protection and ownership of certain devices specified in this file.
Immediately after logging a user in, displays the system copyright notice, the date and time the user last logged in, 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, such as uucp(1). 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). Other environment variables may be set due to entries in the login class capabilities database, for the login class assigned in the user's system passwd record. The login class also controls the maximum and current process resource limits granted to a login, process priorities and many other aspects of a user's login environment.
The standard shells, csh(1) and sh(1), do not fork before executing the utility.