|  | :mod:`pwd` --- The password database | 
|  | ==================================== | 
|  |  | 
|  | .. module:: pwd | 
|  | :platform: Unix | 
|  | :synopsis: The password database (getpwnam() and friends). | 
|  |  | 
|  | -------------- | 
|  |  | 
|  | This module provides access to the Unix user account and password database.  It | 
|  | is available on all Unix versions. | 
|  |  | 
|  | .. include:: ../includes/wasm-notavail.rst | 
|  |  | 
|  | Password database entries are reported as a tuple-like object, whose attributes | 
|  | correspond to the members of the ``passwd`` structure (Attribute field below, | 
|  | see ``<pwd.h>``): | 
|  |  | 
|  | +-------+---------------+-----------------------------+ | 
|  | | Index | Attribute     | Meaning                     | | 
|  | +=======+===============+=============================+ | 
|  | | 0     | ``pw_name``   | Login name                  | | 
|  | +-------+---------------+-----------------------------+ | 
|  | | 1     | ``pw_passwd`` | Optional encrypted password | | 
|  | +-------+---------------+-----------------------------+ | 
|  | | 2     | ``pw_uid``    | Numerical user ID           | | 
|  | +-------+---------------+-----------------------------+ | 
|  | | 3     | ``pw_gid``    | Numerical group ID          | | 
|  | +-------+---------------+-----------------------------+ | 
|  | | 4     | ``pw_gecos``  | User name or comment field  | | 
|  | +-------+---------------+-----------------------------+ | 
|  | | 5     | ``pw_dir``    | User home directory         | | 
|  | +-------+---------------+-----------------------------+ | 
|  | | 6     | ``pw_shell``  | User command interpreter    | | 
|  | +-------+---------------+-----------------------------+ | 
|  |  | 
|  | The uid and gid items are integers, all others are strings. :exc:`KeyError` is | 
|  | raised if the entry asked for cannot be found. | 
|  |  | 
|  | .. note:: | 
|  |  | 
|  | .. index:: module: crypt | 
|  |  | 
|  | In traditional Unix the field ``pw_passwd`` usually contains a password | 
|  | encrypted with a DES derived algorithm (see module :mod:`crypt`).  However most | 
|  | modern unices  use a so-called *shadow password* system.  On those unices the | 
|  | *pw_passwd* field only contains an asterisk (``'*'``) or the  letter ``'x'`` | 
|  | where the encrypted password is stored in a file :file:`/etc/shadow` which is | 
|  | not world readable.  Whether the *pw_passwd* field contains anything useful is | 
|  | system-dependent.  If available, the :mod:`spwd` module should be used where | 
|  | access to the encrypted password is required. | 
|  |  | 
|  | It defines the following items: | 
|  |  | 
|  |  | 
|  | .. function:: getpwuid(uid) | 
|  |  | 
|  | Return the password database entry for the given numeric user ID. | 
|  |  | 
|  |  | 
|  | .. function:: getpwnam(name) | 
|  |  | 
|  | Return the password database entry for the given user name. | 
|  |  | 
|  |  | 
|  | .. function:: getpwall() | 
|  |  | 
|  | Return a list of all available password database entries, in arbitrary order. | 
|  |  | 
|  |  | 
|  | .. seealso:: | 
|  |  | 
|  | Module :mod:`grp` | 
|  | An interface to the group database, similar to this. | 
|  |  | 
|  | Module :mod:`spwd` | 
|  | An interface to the shadow password database, similar to this. | 
|  |  |