Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: cf6fc7906d5abb6e0b9e7e52c94e8b28883672f7 authored by cvs2svn on 05 August 2004, 07:21:01 UTC
This commit was manufactured by cvs2svn to create tag 'r24a2'.
Tip revision: cf6fc79
libpwd.tex
\section{\module{pwd} ---
         The password database}

\declaremodule{builtin}{pwd}
  \platform{Unix}
\modulesynopsis{The password database (\function{getpwnam()} and friends).}

This module provides access to the \UNIX{} user account and password
database.  It is available on all \UNIX{} versions.

Password database entries are reported as a tuple-like object, whose
attributes correspond to the members of the \code{passwd} structure
(Attribute field below, see \code{<pwd.h>}):

\begin{tableiii}{r|l|l}{textrm}{Index}{Attribute}{Meaning}
  \lineiii{0}{\code{pw_name}}{Login name}
  \lineiii{1}{\code{pw_passwd}}{Optional encrypted password}
  \lineiii{2}{\code{pw_uid}}{Numerical user ID}
  \lineiii{3}{\code{pw_gid}}{Numerical group ID}
  \lineiii{4}{\code{pw_gecos}}{User name or comment field}
  \lineiii{5}{\code{pw_dir}}{User home directory}
  \lineiii{6}{\code{pw_shell}}{User command interpreter}
\end{tableiii}

The uid and gid items are integers, all others are strings.
\exception{KeyError} is raised if the entry asked for cannot be found.

\note{In traditional \UNIX{} the field \code{pw_passwd} usually
contains a password encrypted with a DES derived algorithm (see module
\refmodule{crypt}\refbimodindex{crypt}).  However most modern unices 
use a so-called \emph{shadow password} system.  On those unices the
field \code{pw_passwd} only contains a asterisk (\code{'*'}) or the 
letter \character{x} where the encrypted password is stored in a file
\file{/etc/shadow} which is not world readable.}

It defines the following items:

\begin{funcdesc}{getpwuid}{uid}
Return the password database entry for the given numeric user ID.
\end{funcdesc}

\begin{funcdesc}{getpwnam}{name}
Return the password database entry for the given user name.
\end{funcdesc}

\begin{funcdesc}{getpwall}{}
Return a list of all available password database entries, in arbitrary order.
\end{funcdesc}


\begin{seealso}
  \seemodule{grp}{An interface to the group database, similar to this.}
\end{seealso}
back to top