PASSWD(5)              File Formats and Configurations             PASSWD(5)
NAME
       passwd - password file
SYNOPSIS
       /etc/passwdDESCRIPTION
       The file 
/etc/passwd is a local source of information about users'
       accounts. The password file can be used in conjunction with other
       naming sources, such as the 
NIS maps 
passwd.byname and 
passwd.bygid,
       or password data stored on an LDAP server. Programs use the       
getpwnam(3C) routines to access this information.
       Each 
passwd entry is a single line of the form:         
username:password:uid:         gid:gcos-field:home-dir:         login-shell       where       
username                      is the user's login name.
                      The login (
login) and role (
role) fields accept a
                      string of no more than 32 bytes consisting of
                      characters from the set of alphabetic characters,
                      numeric characters, period (
.), underscore (
_), and
                      hyphen (
-). The first character should be alphabetic
                      and the field should contain at least one lower case
                      alphabetic character. A warning message is displayed
                      if these restrictions are not met.
                      The 
login and 
role fields must contain at least one
                      character and must not contain a colon (
:) or a
                      newline (
\n).       
password                      is an empty field. The encrypted password for the user
                      is in the corresponding entry in the 
/etc/shadow file.                      
pwconv(8) relies on a special value of '
x' in the
                      password field of 
/etc/passwd. If this value of '
x'
                      exists in the password field of 
/etc/passwd, this
                      indicates that the password for the user is already in                      
/etc/shadow and should not be modified.       
uid                      is the user's unique numerical 
ID for the system.       
gid                      is the unique numerical 
ID of the group that the user
                      belongs to.       
gcos-field                      is the user's real name, along with information to
                      pass along in a mail-message heading. (It is called
                      the gcos-field for historical reasons.) An ``
&''
                      (ampersand) in this field stands for the login name
                      (in cases where the login name appears in a user's
                      real name).       
home-dir                      is the pathname to the directory in which the user is
                      initially positioned upon logging in.       
login-shell                      is the user's initial shell program. If this field is
                      empty, the default shell is 
/usr/bin/sh.
       The maximum value of the 
uid and 
gid fields is 
2147483647. To
       maximize interoperability and compatibility, administrators are
       recommended to assign users a range of 
UIDs and 
GIDs below 
60000       where possible. (
UIDs from 
0-
99 inclusive are reserved by the
       operating system vendor for use in future applications. Their use by
       end system users or vendors of layered products is not supported and
       may cause security related issues with future applications.)
       The password file is an 
ASCII file that resides in the 
/etc       directory. Because the encrypted passwords on a secure system are
       always kept in the 
shadow file, 
/etc/passwd has general read
       permission on all systems and can be used by routines that map
       between numerical user 
IDs and user names.
       Blank lines are treated as malformed entries in the 
passwd file and
       cause consumers of the file , such as 
getpwnam(3C), to fail.
       The password file can contain entries beginning with a `+' (plus
       sign) or '-' (minus sign) to selectively incorporate entries from
       another naming service source, such as NIS or LDAP.
       A line beginning with a '+' means to incorporate entries from the
       naming service source. There are three styles of the '+' entries in
       this file. A single + means to insert all the entries from the
       alternate naming service source at that point, while a +
name means to
       insert the specific entry, if one exists, from the naming service
       source. A +@
netgroup means to insert the entries for all members of
       the network group 
netgroup from the alternate naming service. If a
       +
name entry has a non-null 
password, 
gcos, 
home-dir, or 
login-shell       field, the value of that field overrides what is contained in the
       alternate naming service. The 
uid and 
gid fields cannot be
       overridden.
       A line beginning with a `-' means to disallow entries from the
       alternate naming service. There are two styles of `-` entries in this
       file. -
name means to disallow any subsequent entries (if any) for       
name (in this file or in a naming service), and -@
netgroup means to
       disallow any subsequent entries for all members of the network group       
netgroup.
       This is also supported by specifying ``passwd : compat'' in       
nsswitch.conf(5). The "compat" source might not be supported in
       future releases. The preferred sources are 
files followed by the
       identifier of a name service, such as 
nis or 
ldap. This has the
       effect of incorporating the entire contents of the naming service's       
passwd database or password-related information after the 
passwd       file.
       Note that in compat mode, for every 
/etc/passwd entry, there must be
       a corresponding entry in the 
/etc/shadow file.
       Appropriate precautions must be taken to lock the 
/etc/passwd file
       against simultaneous changes if it is to be edited with a text
       editor; 
vipw(1B) does the necessary locking.
EXAMPLES
       Example 1: Sample passwd File
       The following is a sample 
passwd file:
         root:x:0:1:Super-User:/:/sbin/sh
         fred:6k/7KCFRPNVXg:508:10:& Fredericks:/usr2/fred:/bin/csh
       and the sample password entry from 
nsswitch.conf:
         passwd: files ldap
       In this example, there are specific entries for users 
root and 
fred       to assure that they can login even when the system is running single-
       user. In addition, anyone whose password information is stored on an
       LDAP server will be able to login with their usual password, shell,
       and home directory.
       If the password file is:
         root:x:0:1:Super-User:/:/sbin/sh
         fred:6k/7KCFRPNVXg:508:10:& Fredericks:/usr2/fred:/bin/csh
         +
       and the password entry in 
nsswitch.conf is:
         passwd: compat
       then all the entries listed in the 
NIS passwd.byuid and 
passwd.byname       maps will be effectively incorporated after the entries for 
root and       
fred. If the password entry in 
nsswitch.conf is:
         passwd_compat: ldap
         passwd: compat
       then all password-related entries stored on the LDAP server will be
       incorporated after the entries for 
root and 
fred.
       The following is a sample 
passwd file when 
shadow does not exist:
         root:q.mJzTnu8icf.:0:1:Super-User:/:/sbin/sh
         fred:6k/7KCFRPNVXg:508:10:& Fredericks:/usr2/fred:/bin/csh
         +john:
         +@documentation:no-login:
         +::::Guest
       The following is a sample 
passwd file when 
shadow does exist:
         root:##root:0:1:Super-User:/:/sbin/sh
         fred:##fred:508:10:& Fredericks:/usr2/fred:/bin/csh
         +john:
         +@documentation:no-login:
         +::::Guest
       In this example, there are specific entries for users 
root and 
fred,
       to assure that they can log in even when the system is running
       standalone. The user 
john will have his password entry in the naming
       service source incorporated without change, anyone in the netgroup       
documentation will have their password field disabled, and anyone
       else will be able to log in with their usual password, shell, and
       home directory, but with a 
gcos field of 
GuestFILES
       /etc/nsswitch.conf       /etc/passwd       /etc/shadowSEE ALSO
       chgrp(1), 
chown(1), 
finger(1), 
groups(1), 
login(1), 
newgrp(1),       
passwd(1), 
sh(1), 
sort(1), 
a64l(3C), 
crypt(3C), 
getpw(3C),       
getpwnam(3C), 
getspnam(3C), 
putpwent(3C), 
unistd.h(3HEAD), 
group(5),       
hosts.equiv(5), 
nsswitch.conf(5), 
shadow(5), 
environ(7),       
domainname(8), 
getent(8), 
passmgmt(8), 
pwck(8), 
pwconv(8), 
su(8),       
useradd(8), 
userdel(8), 
usermod(8)       System Administration Guide: Basic Administration                              February 25, 2017                    PASSWD(5)