17db96d56Sopenharmony_ci:mod:`pwd` --- The password database 27db96d56Sopenharmony_ci==================================== 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: pwd 57db96d56Sopenharmony_ci :platform: Unix 67db96d56Sopenharmony_ci :synopsis: The password database (getpwnam() and friends). 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci-------------- 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ciThis module provides access to the Unix user account and password database. It 117db96d56Sopenharmony_ciis available on all Unix versions. 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci.. include:: ../includes/wasm-notavail.rst 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciPassword database entries are reported as a tuple-like object, whose attributes 167db96d56Sopenharmony_cicorrespond to the members of the ``passwd`` structure (Attribute field below, 177db96d56Sopenharmony_cisee ``<pwd.h>``): 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 207db96d56Sopenharmony_ci| Index | Attribute | Meaning | 217db96d56Sopenharmony_ci+=======+===============+=============================+ 227db96d56Sopenharmony_ci| 0 | ``pw_name`` | Login name | 237db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 247db96d56Sopenharmony_ci| 1 | ``pw_passwd`` | Optional encrypted password | 257db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 267db96d56Sopenharmony_ci| 2 | ``pw_uid`` | Numerical user ID | 277db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 287db96d56Sopenharmony_ci| 3 | ``pw_gid`` | Numerical group ID | 297db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 307db96d56Sopenharmony_ci| 4 | ``pw_gecos`` | User name or comment field | 317db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 327db96d56Sopenharmony_ci| 5 | ``pw_dir`` | User home directory | 337db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 347db96d56Sopenharmony_ci| 6 | ``pw_shell`` | User command interpreter | 357db96d56Sopenharmony_ci+-------+---------------+-----------------------------+ 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ciThe uid and gid items are integers, all others are strings. :exc:`KeyError` is 387db96d56Sopenharmony_ciraised if the entry asked for cannot be found. 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci.. note:: 417db96d56Sopenharmony_ci 427db96d56Sopenharmony_ci .. index:: pair: module; crypt 437db96d56Sopenharmony_ci 447db96d56Sopenharmony_ci In traditional Unix the field ``pw_passwd`` usually contains a password 457db96d56Sopenharmony_ci encrypted with a DES derived algorithm (see module :mod:`crypt`). However most 467db96d56Sopenharmony_ci modern unices use a so-called *shadow password* system. On those unices the 477db96d56Sopenharmony_ci *pw_passwd* field only contains an asterisk (``'*'``) or the letter ``'x'`` 487db96d56Sopenharmony_ci where the encrypted password is stored in a file :file:`/etc/shadow` which is 497db96d56Sopenharmony_ci not world readable. Whether the *pw_passwd* field contains anything useful is 507db96d56Sopenharmony_ci system-dependent. If available, the :mod:`spwd` module should be used where 517db96d56Sopenharmony_ci access to the encrypted password is required. 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ciIt defines the following items: 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ci.. function:: getpwuid(uid) 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ci Return the password database entry for the given numeric user ID. 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci 617db96d56Sopenharmony_ci.. function:: getpwnam(name) 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci Return the password database entry for the given user name. 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_ci 667db96d56Sopenharmony_ci.. function:: getpwall() 677db96d56Sopenharmony_ci 687db96d56Sopenharmony_ci Return a list of all available password database entries, in arbitrary order. 697db96d56Sopenharmony_ci 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci.. seealso:: 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ci Module :mod:`grp` 747db96d56Sopenharmony_ci An interface to the group database, similar to this. 757db96d56Sopenharmony_ci 767db96d56Sopenharmony_ci Module :mod:`spwd` 777db96d56Sopenharmony_ci An interface to the shadow password database, similar to this. 787db96d56Sopenharmony_ci 79