
:mod:`grp` --- グループデータベースへのアクセス
===============================================

.. module:: grp
   :platform: Unix
   :synopsis: グループデータベースへのアクセス (getgrnam() およびその仲間)。


このモジュールでは Unix グループ (group) データベースへのアクセス機構を提供します。全ての Unix バージョンで利用可能です。

このモジュールはグループデータベースのエントリをタプルに似たオブジェクトとして報告されます。このオブジェクトの属性は ``group``  構造体の各メンバ
(以下の属性フィールド、 ``<pwd.h>`` を参照) に対応します:

+------------+-----------+------------------------------------+
| インデクス | 属性      | 意味                               |
+============+===========+====================================+
| 0          | gr_name   | グループ名                         |
+------------+-----------+------------------------------------+
| 1          | gr_passwd | (暗号化された) グループパスワード; |
|            |           | しばしば空文字列になります         |
+------------+-----------+------------------------------------+
| 2          | gr_gid    | 数字のグループ ID                  |
+------------+-----------+------------------------------------+
| 3          | gr_mem    | グループメンバの全てのユーザ名     |
+------------+-----------+------------------------------------+

gid は整数、名前およびパスワードは文字列、そしてメンバリストは文字列からなるリストです。
(ほとんどのユーザは、パスワードデータベースで自分が入れられているグループの
メンバとしてグループデータベース内では明示的に列挙されていないので
注意してください。完全なメンバ情報を取得するには両方のデータベースを調べてください。
また、 ``+`` や ``-`` で始まる ``gr_name`` は YP/NIS 参照である可能性があり、
:func:`getgrnam` や :func:`getgrgid` でアクセスできないかもしれないことにも注意してください。
)

このモジュールでは以下の内容を定義しています:


.. function:: getgrgid(gid)

   与えられたグループ ID に対するグループデータベースエントリを返します。
   要求したエントリが見つからなかった場合、 :exc:`KeyError` が送出されます。


.. function:: getgrnam(name)

   与えられたグループ名に対するグループデータベースエントリを返します。
   要求したエントリが見つからなかった場合、 :exc:`KeyError` が送出されます。


.. function:: getgrall()

   全ての入手可能なグループエントリを返します。順番は決まっていません。


.. seealso::

   :mod:`pwd` モジュール
      このモジュールと類似の、ユーザデータベースへのインタフェース。

   :mod:`spwd` モジュール
      このモジュールと類似の、シャドウパスワードデータベースへのインタフェース。

