LOGIN(1) General Commands Manual LOGIN(1)

loginlog into the computer

login [-fpq] [-h hostname] [user]

login -f [-lpq] [-h hostname] [user [prog [args...]]]

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 configurable via pam(8). Password authentication is the default.

The following options are available:

When a user name is specified, this option indicates that proper authentication has already been done and that no password need be requested. This option may only be used by the super-user or when an already logged in user is logging in as themselves.

With the -f option, an alternate program (and any arguments) may be run instead of the user's default shell. The program and arguments follows the user name.

Specify the host from which the connection was received. It is used by various daemons such as telnetd(8). This option may only be used by the super-user.
Tells the program executed by login that this is not a login session (by convention, a login session is signalled to the program with a hyphen as the first character of ; this option disables that), and prevents it from chdir(2)ing to the user's home directory. The default is to add the hyphen (this is a login session).
By default, login discards any previous environment. The -p option disables this behavior.
This forces quiet logins, as if a .hushlogin is present.

If the file /etc/nologin exists, login dislays 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.

Immediately after logging a user in, login 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. If -q is specified, 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 utmpx(5) and the like, and executes the user's command interpreter (or the program specified on the command line if -f is specified).

The login utility 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).

Some shells may provide a builtin login command which is similar or identical to this utility. Consult the builtin(1) manual page.

The login utility will submit an audit record when login succeeds or fails. Failure to determine the current auditing state will result in an error exit from login.

/etc/motd
message-of-the-day
/etc/nologin
disallows logins
/var/run/utmpx
current logins
/var/mail/user
system mailboxes
.hushlogin
makes login quieter
/etc/pam.d/login
pam(8) configuration file
/etc/security/audit_user
user flags for auditing
/etc/security/audit_control
global flags for auditing

builtin(1), chpass(1), csh(1), newgrp(1), passwd(1), rlogin(1), getpass(3), utmpx(5), environ(7)

A login utility appeared in Version 6 AT&T UNIX.

July 20, 2019 macOS 14.3