# 36.4. `grp` --- グループデータベースへのアクセス

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

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

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

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

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

`grp.``getgrgid`(gid)

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

`grp.``getgrnam`(name)

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

`grp.``getgrall`()

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

参考

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