passwd(4) — FILE FORMATS
NAME
passwd − password file
SYNOPSIS
/etc/passwd
DESCRIPTION
/etc/passwd is an ASCII file that contains basic information about each user’s account. This file contains a one-line entry for each authorized user, of the form:
username : password : uid : gid : comment : home-dir : login-shell
where:
username is the user’s login name. This field contains no uppercase characters, and must not be more than eight characters in length.
password contains the character x. This field remains only for compatibility reasons. Password information is contained in the file /etc/shadow; see shadow(4). If this field is empty, login(1) does not request a password before logging the user in.
uid is the user’s numerical ID for the system, which must be unique. uid is generally a value between 0 and 32767.
gid is the numerical ID of the group that the user belongs to. gid is generally a value between 0 an 32767.
comment is the user’s real name, along with information to pass along in a mail-message heading. 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.
Fields are separated by a colon, and each user from the next by a NEWLINE. Comment lines (lines preceded by the pound character (#) are not allowed in the /etc/passwd file. passwd also contains information used by the NIS package. These options are available only if the NIS package is installed.
/etc/passwd has general read permission on all systems, and can be used by routines that map numerical user IDs to names. The passwd file can also have lines beginning with a plus sign (+) which means to incorporate entries from the Network Information Service (NIS). There are three styles of + entries in this file: by itself, + means to insert the entire contents of the NIS password file at that point; + name means to insert the entry (if any) for name from the NIS service at that point; +@ netgroup means to insert the entries for all members of the network group netgroup at that point. If a + name entry has a non-NULL password, comment, home-dir, or login-shell field, the value of that field overrides what is contained in the NIS service. The uid and gid fields cannot be overridden.
The passwd file can also have lines beginning with a minus sign (−) which means to disallow entries from the NIS 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 the NIS service); −@ netgroup means to disallow any subsequent entries for all members of the network group netgroup.
EXAMPLES
Here is a sample passwd file:
root:x:0:10:God:/:/bin/csh
fred:x: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 NIS service 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 comment field of Guest.
FILES
/etc/passwd
/etc/shadow
SEE ALSO
login(1), passwd(1), pwconv(1M), useradd(1M), usermod(1M), userdel(1M), a64l(3C), getpwent(3C), putpwent(3C), shadow(4), group(4), and unistd(4).