17db96d56Sopenharmony_ci:mod:`grp` --- The group database
27db96d56Sopenharmony_ci=================================
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci.. module:: grp
57db96d56Sopenharmony_ci   :platform: Unix
67db96d56Sopenharmony_ci   :synopsis: The group database (getgrnam() and friends).
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci--------------
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciThis module provides access to the Unix group database. It is available on all
117db96d56Sopenharmony_ciUnix versions.
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci.. include:: ../includes/wasm-notavail.rst
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ciGroup database entries are reported as a tuple-like object, whose attributes
167db96d56Sopenharmony_cicorrespond to the members of the ``group`` structure (Attribute field below, see
177db96d56Sopenharmony_ci``<grp.h>``):
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ci+-------+-----------+---------------------------------+
207db96d56Sopenharmony_ci| Index | Attribute | Meaning                         |
217db96d56Sopenharmony_ci+=======+===========+=================================+
227db96d56Sopenharmony_ci| 0     | gr_name   | the name of the group           |
237db96d56Sopenharmony_ci+-------+-----------+---------------------------------+
247db96d56Sopenharmony_ci| 1     | gr_passwd | the (encrypted) group password; |
257db96d56Sopenharmony_ci|       |           | often empty                     |
267db96d56Sopenharmony_ci+-------+-----------+---------------------------------+
277db96d56Sopenharmony_ci| 2     | gr_gid    | the numerical group ID          |
287db96d56Sopenharmony_ci+-------+-----------+---------------------------------+
297db96d56Sopenharmony_ci| 3     | gr_mem    | all the group member's  user    |
307db96d56Sopenharmony_ci|       |           | names                           |
317db96d56Sopenharmony_ci+-------+-----------+---------------------------------+
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ciThe gid is an integer, name and password are strings, and the member list is a
347db96d56Sopenharmony_cilist of strings. (Note that most users are not explicitly listed as members of
357db96d56Sopenharmony_cithe group they are in according to the password database.  Check both databases
367db96d56Sopenharmony_cito get complete membership information.  Also note that a ``gr_name`` that
377db96d56Sopenharmony_cistarts with a ``+`` or ``-`` is likely to be a YP/NIS reference and may not be
387db96d56Sopenharmony_ciaccessible via :func:`getgrnam` or :func:`getgrgid`.)
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ciIt defines the following items:
417db96d56Sopenharmony_ci
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci.. function:: getgrgid(id)
447db96d56Sopenharmony_ci
457db96d56Sopenharmony_ci   Return the group database entry for the given numeric group ID. :exc:`KeyError`
467db96d56Sopenharmony_ci   is raised if the entry asked for cannot be found.
477db96d56Sopenharmony_ci
487db96d56Sopenharmony_ci   .. versionchanged:: 3.10
497db96d56Sopenharmony_ci      :exc:`TypeError` is raised for non-integer arguments like floats or strings.
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci.. function:: getgrnam(name)
527db96d56Sopenharmony_ci
537db96d56Sopenharmony_ci   Return the group database entry for the given group name. :exc:`KeyError` is
547db96d56Sopenharmony_ci   raised if the entry asked for cannot be found.
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_ci.. function:: getgrall()
587db96d56Sopenharmony_ci
597db96d56Sopenharmony_ci   Return a list of all available group entries, in arbitrary order.
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_ci
627db96d56Sopenharmony_ci.. seealso::
637db96d56Sopenharmony_ci
647db96d56Sopenharmony_ci   Module :mod:`pwd`
657db96d56Sopenharmony_ci      An interface to the user database, similar to this.
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci   Module :mod:`spwd`
687db96d56Sopenharmony_ci      An interface to the shadow password database, similar to this.
697db96d56Sopenharmony_ci
70