17db96d56Sopenharmony_ci:mod:`spwd` --- The shadow password database 27db96d56Sopenharmony_ci============================================ 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: spwd 57db96d56Sopenharmony_ci :platform: Unix 67db96d56Sopenharmony_ci :synopsis: The shadow password database (getspnam() and friends). 77db96d56Sopenharmony_ci :deprecated: 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci.. deprecated-removed:: 3.11 3.13 107db96d56Sopenharmony_ci The :mod:`spwd` module is deprecated 117db96d56Sopenharmony_ci (see :pep:`PEP 594 <594#spwd>` for details and alternatives). 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci-------------- 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciThis module provides access to the Unix shadow password database. It is 167db96d56Sopenharmony_ciavailable on various Unix versions. 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci.. include:: ../includes/wasm-notavail.rst 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ciYou must have enough privileges to access the shadow password database (this 217db96d56Sopenharmony_ciusually means you have to be root). 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ciShadow password database entries are reported as a tuple-like object, whose 247db96d56Sopenharmony_ciattributes correspond to the members of the ``spwd`` structure (Attribute field 257db96d56Sopenharmony_cibelow, see ``<shadow.h>``): 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 287db96d56Sopenharmony_ci| Index | Attribute | Meaning | 297db96d56Sopenharmony_ci+=======+===============+=================================+ 307db96d56Sopenharmony_ci| 0 | ``sp_namp`` | Login name | 317db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 327db96d56Sopenharmony_ci| 1 | ``sp_pwdp`` | Encrypted password | 337db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 347db96d56Sopenharmony_ci| 2 | ``sp_lstchg`` | Date of last change | 357db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 367db96d56Sopenharmony_ci| 3 | ``sp_min`` | Minimal number of days between | 377db96d56Sopenharmony_ci| | | changes | 387db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 397db96d56Sopenharmony_ci| 4 | ``sp_max`` | Maximum number of days between | 407db96d56Sopenharmony_ci| | | changes | 417db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 427db96d56Sopenharmony_ci| 5 | ``sp_warn`` | Number of days before password | 437db96d56Sopenharmony_ci| | | expires to warn user about it | 447db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 457db96d56Sopenharmony_ci| 6 | ``sp_inact`` | Number of days after password | 467db96d56Sopenharmony_ci| | | expires until account is | 477db96d56Sopenharmony_ci| | | disabled | 487db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 497db96d56Sopenharmony_ci| 7 | ``sp_expire`` | Number of days since 1970-01-01 | 507db96d56Sopenharmony_ci| | | when account expires | 517db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 527db96d56Sopenharmony_ci| 8 | ``sp_flag`` | Reserved | 537db96d56Sopenharmony_ci+-------+---------------+---------------------------------+ 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ciThe sp_namp and sp_pwdp items are strings, all others are integers. 567db96d56Sopenharmony_ci:exc:`KeyError` is raised if the entry asked for cannot be found. 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ciThe following functions are defined: 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci 617db96d56Sopenharmony_ci.. function:: getspnam(name) 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci Return the shadow password database entry for the given user name. 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_ci .. versionchanged:: 3.6 667db96d56Sopenharmony_ci Raises a :exc:`PermissionError` instead of :exc:`KeyError` if the user 677db96d56Sopenharmony_ci doesn't have privileges. 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ci.. function:: getspall() 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci Return a list of all available shadow password database entries, in arbitrary 727db96d56Sopenharmony_ci order. 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci.. seealso:: 767db96d56Sopenharmony_ci 777db96d56Sopenharmony_ci Module :mod:`grp` 787db96d56Sopenharmony_ci An interface to the group database, similar to this. 797db96d56Sopenharmony_ci 807db96d56Sopenharmony_ci Module :mod:`pwd` 817db96d56Sopenharmony_ci An interface to the normal password database, similar to this. 827db96d56Sopenharmony_ci 83