xref: /third_party/python/Doc/library/spwd.rst (revision 7db96d56)
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