\fBlogin\fR is used to establish a new session with the system\&. It is normally invoked automatically by responding to the \fIlogin:\fR prompt on the user<65>s terminal\&. \fBlogin\fR may be special to the shell and may not be invoked as a sub\-process\&. Typically, \fBlogin\fR is treated by the shell as \fIexec login\fR which causes the user to exit from the current shell\&. Attempting to execute \fBlogin\fR from any shell but the login shell will produce an error message\&.
The user is then prompted for a password, where appropriate\&. Echoing is disabled to prevent revealing the password\&. Only a small number of password failures are permitted before \fBlogin\fR exits and the communications link is severed\&.
If password aging has been enabled for your account, you may be prompted for a new password before proceeding\&. You will be forced to provide your old password and the new password before continuing\&. Please refer to \fBpasswd\fR(1) for more information\&.
After a successful login, you will be informed of any system messages and the presence of mail\&. You may turn off the printing of the system message file, \fI/etc/motd\fR, by creating a zero\-length file \&.hushlogin in your login directory\&. The mail message will be one of "\fIYou have new mail\&.\fR ", "\fIYou have mail\&.\fR", or "\fINo Mail\&.\fR "according to the condition of your mailbox\&.
Your user and group ID will be set according to their values in the \fI/etc/passwd\fR file\&. The value for \fI$HOME\fR, \fI$SHELL\fR, \fI$PATH\fR, \fI$LOGNAME\fR, and \fI$MAIL\fR are set according to the appropriate fields in the password entry\&. Ulimit, umask and nice values may also be set according to entries in the GECOS field\&.
On some installations, the environmental variable \fI$TERM\fR will be initialized to the terminal type on your tty line, as specified in \fI/etc/ttytype\fR\&.
An initialization script for your command interpreter may also be executed\&. Please see the appropriate manual section for more information on this function\&.
A subsystem login is indicated by the presence of a "*" as the first character of the login shell\&. The given home directory will be used as the root of a new file system which the user is actually logged into\&.
The \fBlogin\fR program is NOT responsible for removing users from the utmp file\&. It is the responsibility of getty(8) and init(8) to clean up apparent ownership of a terminal session\&. If you use \fBlogin\fR from the shell prompt without \fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&.