35.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 モジュール
このモジュールと類似の、シャドウパスワードデータベースへのインタフェース。