LOGIN(1)                    General Commands Manual                   LOGIN(1)

NAME
     login – log into the computer

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

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

     The following options are available:

     -f      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.

     -h      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.

     -l      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 argv[0]; 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).

     -p      By default, login discards any previous environment.  The -p
             option disables this behavior.

     -q      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.

FILES
     /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

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

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

macOS 15.2                    September 29, 2022                    macOS 15.2