Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

LOGIN(1)                  BSD General Commands Manual                 LOGIN(1)

     login -- log into the computer

     login [-pq] [-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

     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 superuser
             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[_]; 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.  -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
                        user flags for auditing
                        global flags for auditing

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

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

BSD                           September 13, 2006                           BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.