# 36.2. `pwd` --- パスワードデータベースへのアクセスを提供する

このモジュールは Unix のユーザアカウントとパスワードのデータベースへのアクセスを提供します。全ての Unix 系 OS で利用できます。

パスワードデータベースの各エントリはタプルのようなオブジェクトで提供され、それぞれの属性は `passwd` 構造体のメンバに対応しています(下の属性欄については、`<pwd.h>` を見てください):

インデックス | 属性 | 意味
--- | --- | ---
0 | `pw_name` | ログイン名
1 | `pw_passwd` | 暗号化されたパスワード(optional))
2 | `pw_uid` | ユーザID(UID)
3 | `pw_gid` | グループID(GID)
4 | `pw_gecos` | 実名またはコメント
5 | `pw_dir` | ホームディレクトリ
6 | `pw_shell` | シェル

UIDとGIDは整数で、それ以外は全て文字列です。検索したエントリが見つからないと `KeyError` が発生します。

注釈

伝統的なUnixでは、 `pw_passwd` フィールドはDES由来のアルゴリズムで暗号化されたパスワード(`crypt` モジュールをごらんください)が含まれています。しかし、近代的なUNIX系OSでは シャドウパスワード とよばれる仕組みを利用しています。この場合には pw_passwd フィールドにはアスタリスク(`'*'`)か、 `'x'` という一文字だけが含まれており、暗号化されたパスワードは、一般には見えない `/etc/shadow` というファイルに入っています。 pw_passwd フィールドに有用な値が入っているかはシステムに依存します。利用可能なら、暗号化されたパスワードへのアクセスが必要なときには `spwd` モジュールを利用してください。

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

`pwd.``getpwuid`(uid)

  与えられたUIDに対応するパスワードデータベースのエントリを返します。

`pwd.``getpwnam`(name)

  与えられたユーザ名に対応するパスワードデータベースのエントリを返します。

`pwd.``getpwall`()

  パスワードデータベースの全てのエントリを、任意の順番で並べたリストを返します。

参考

`grp` モジュール

  このモジュールに似た、グループデータベースへのアクセスを提供するモジュール。

`spwd` モジュール

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