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.

PASSWD(5)                   BSD File Formats Manual                  PASSWD(5)

     passwd, master.passwd -- format of the password file

     The /etc/passwd file is a legacy BSD 4.3 format file.  It is mostly unused, but is updated by some
     utility programs.  Its format is similar to the /etc/master.passwd file, except that it does not con-tain contain
     tain the class, change, and expire fields described below.

     The /etc/master.passwd file comprises newline separated records, one per user.  Each line contains ten
     colon (``:'') separated fields.  These fields are as follows:

           name      User's login name.

           password  User's encrypted password.

           uid       User's id.

           gid       User's login group id.

           class     User's general classification (unused).

           change    Password change time.

           expire    Account expiration time.

           gecos     User's full name.

           home_dir  User's home directory.

           shell     User's login shell.

     The name field is the login used to access the computer account, and the uid field is the number asso-ciated associated
     ciated with it.  They should both be unique across the system (and often across a group of systems)
     since they control file access.

     While it is possible to have multiple entries with identical login names and/or identical user id's, it
     is usually a mistake to do so.  Routines that manipulate these files will often return only one of the
     multiple entries, and that one by random selection.

     The login name must never begin with a hyphen (``-''); also, it is strongly suggested that neither
     upper-case characters or dots (``.'') be part of the name, as this tends to confuse mailers.  No field
     may contain a colon (``:'') as this has been used historically to separate the fields in the user data-base. database.

     The password field is the encrypted form of the password.  If the password field is empty, no password
     will be required to gain access to the machine.  This is almost invariably a mistake.  Because these
     files contain the encrypted user passwords, they should not be readable by anyone without appropriate

     The group field is the group that the user will be placed in upon login.  Since this system supports
     multiple groups (see groups(1)) this field currently has little special meaning.

     The class field is currently unused.

     The change field is the number in seconds, GMT, from the epoch, until the password for the account must
     be changed.  This field may be left empty to turn off the password aging feature.

     The expire field is the number in seconds, GMT, from the epoch, until the account expires.  This field
     may be left empty to turn off the account aging feature.

     The gecos field normally contains the user's full name.  Note that Mac OS X differs from some other
     operating systems, where the gecos field may contain other comma-separcted information about the user.

     The home_dir field is the user's home directory.  This is the full path name where the user will be
     placed on login.

     The shell field is the command interpreter the user prefers.  If there is nothing in the shell field,
     the Bourne shell (/bin/sh) is assumed.

     Processes generally find user records using one of the getpwent(3) family of functions.  On Mac OS X,
     these functions interact with the DirectoryService(8) daemon, which reads the /etc/master.passwd file
     as well as searching other directory information services to find user accounts.


     chpass(1), login(1), passwd(1), getpwent(3), netgroup(5), DirectoryService(8), pwd_mkdb(8), vipw(8)

     A passwd file format appeared in Version 6 AT&T UNIX.

BSD                              July 18, 1995                             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.