This commit was manufactured by cvs2svn to create tag 'r241c1'.
[python/dscho.git] / Doc / lib / libpwd.tex
blobab0608dbded91c8ce0491b91cd514d645ed761a0
1 \section{\module{pwd} ---
2 The password database}
4 \declaremodule{builtin}{pwd}
5 \platform{Unix}
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 a tuple-like object, whose
12 attributes correspond to the members of the \code{passwd} structure
13 (Attribute field below, see \code{<pwd.h>}):
15 \begin{tableiii}{r|l|l}{textrm}{Index}{Attribute}{Meaning}
16 \lineiii{0}{\code{pw_name}}{Login name}
17 \lineiii{1}{\code{pw_passwd}}{Optional encrypted password}
18 \lineiii{2}{\code{pw_uid}}{Numerical user ID}
19 \lineiii{3}{\code{pw_gid}}{Numerical group ID}
20 \lineiii{4}{\code{pw_gecos}}{User name or comment field}
21 \lineiii{5}{\code{pw_dir}}{User home directory}
22 \lineiii{6}{\code{pw_shell}}{User command interpreter}
23 \end{tableiii}
25 The uid and gid items are integers, all others are strings.
26 \exception{KeyError} is raised if the entry asked for cannot be found.
28 \note{In traditional \UNIX{} the field \code{pw_passwd} usually
29 contains a password encrypted with a DES derived algorithm (see module
30 \refmodule{crypt}\refbimodindex{crypt}). However most modern unices
31 use a so-called \emph{shadow password} system. On those unices the
32 \var{pw_passwd} field only contains an asterisk (\code{'*'}) or the
33 letter \character{x} where the encrypted password is stored in a file
34 \file{/etc/shadow} which is not world readable. Whether the \var{pw_passwd}
35 field contains anything useful is system-dependent.}
37 It defines the following items:
39 \begin{funcdesc}{getpwuid}{uid}
40 Return the password database entry for the given numeric user ID.
41 \end{funcdesc}
43 \begin{funcdesc}{getpwnam}{name}
44 Return the password database entry for the given user name.
45 \end{funcdesc}
47 \begin{funcdesc}{getpwall}{}
48 Return a list of all available password database entries, in arbitrary order.
49 \end{funcdesc}
52 \begin{seealso}
53 \seemodule{grp}{An interface to the group database, similar to this.}
54 \end{seealso}