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()¶ パスワードデータベースの全てのエントリを、任意の順番で並べたリストを返します。
