# `spwd` --- シャドウパスワードデータベース

バージョン 3.11 で非推奨、バージョン 3.13 で削除予定: The `spwd` module is deprecated (see PEP 594 for details and alternatives).

このモジュールは Unix のシャドウパスワードデータベースへのアクセスを提供します。様々な Unix 環境で利用できます。

利用可能性: Emscripten でなく、WASI でもないこと。

このモジュールは WebAssembly プラットフォーム `wasm32-emscripten` と `wasm32-wasi` では動作しないか、利用不可です。詳しくは、WebAssemblyプラットフォーム を見てください。

シャドウパスワードデータベースへアクセスできる権限が必要(大抵の場合 root である必要があります)です。

シャドウパスワードデータベースのエントリはタプル状のオプジェクトで提供され、その属性は `spwd` 構造のメンバーに対応しています（以下を参照してください。`<shadow.h>` を参照):

インデックス | 属性 | 意味
--- | --- | ---
0 | `sp_namp` | ログイン名
1 | `sp_pwdp` | 暗号化されたパスワード
2 | `sp_lstchg` | 最終更新日
3 | `sp_min` | パスワード変更が出来るようになるまでの最小日数
4 | `sp_max` | パスワードを変更しなくても良い最大日数
5 | `sp_warn` | パスワードが期限切れになる前に、期限切れが近づいている旨の警告をユーザに出しはじめる日数
6 | `sp_inact` | パスワードが期限切れになってからアカウントが無効になるまでの日数
7 | `sp_expire` | アカウントが期限切れになる日の 1970-01-01 からの日数
8 | `sp_flag` | 将来のために予約

sp_namp と sp_pwdp は文字列で、他は全て整数です。エントリが見つからなかった時は `KeyError` が起きます。

以下の関数が定義されています:

spwd.getspnam(name)

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

  バージョン 3.6 で変更: ユーザが権限を持っていない場合、 `KeyError` の代わりに `PermissionError` を送出します。

spwd.getspall()

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

参考

`grp` モジュール

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

`pwd` モジュール

  このモジュールに似た通常のパスワードデータベースへのインターフェース。