1 \section{\module{pwd
} ---
4 \declaremodule{builtin
}{pwd
}
6 \modulesynopsis{The password database (
\function{getpwnam()
} and friends).
}
8 This module provides access to the
\UNIX{} user account and password
9 database. It is available on all
\UNIX{} versions.
11 Password database entries are reported as
7-tuples containing the
12 following items from the password database (see
\code{<pwd.h>
}), in order:
14 \begin{tableiii
}{r|l|l
}{textrm
}{Index
}{Field
}{Meaning
}
15 \lineiii{0}{\code{pw_name
}}{Login name
}
16 \lineiii{1}{\code{pw_passwd
}}{Optional encrypted password
}
17 \lineiii{2}{\code{pw_uid
}}{Numerical user ID
}
18 \lineiii{3}{\code{pw_gid
}}{Numerical group ID
}
19 \lineiii{4}{\code{pw_gecos
}}{User name or comment field
}
20 \lineiii{5}{\code{pw_dir
}}{User home directory
}
21 \lineiii{6}{\code{pw_shell
}}{User command interpreter
}
24 The uid and gid items are integers, all others are strings.
25 \exception{KeyError
} is raised if the entry asked for cannot be found.
27 \strong{Note:
} In traditional
\UNIX{} the field
\code{pw_passwd
} usually
28 contains a password encrypted with a DES derived algorithm (see module
29 \refmodule{crypt
}\refbimodindex{crypt
}). However most modern unices
30 use a so-called
\emph{shadow password
} system. On those unices the
31 field
\code{pw_passwd
} only contains a asterisk (
\code{'*'
}) or the
32 letter
\character{x
} where the encrypted password is stored in a file
33 \file{/etc/shadow
} which is not world readable.
35 It defines the following items:
37 \begin{funcdesc
}{getpwuid
}{uid
}
38 Return the password database entry for the given numeric user ID.
41 \begin{funcdesc
}{getpwnam
}{name
}
42 Return the password database entry for the given user name.
45 \begin{funcdesc
}{getpwall
}{}
46 Return a list of all available password database entries, in arbitrary order.
51 \seemodule{grp
}{An interface to the group database, similar to this.
}