\section{\module{spwd} ---
         シャドウパスワードデータベース}

\declaremodule{builtin}{spwd}
  \platform{Unix}
\modulesynopsis{シャドウパスワードデータベース(\function{getspnam()} など}
\versionadded{2.5}

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

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

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

\begin{tableiii}{r|l|l}{textrm}{Index}{Attribute}{Meaning}
  \lineiii{0}{\code{sp_nam}}{ログイン名}
  \lineiii{1}{\code{sp_pwd}}{暗号化されたパスワード}
  \lineiii{2}{\code{sp_lstchg}}{最終更新日}
  \lineiii{3}{\code{sp_min}}{パスワード変更が出来るようになるまでの最小日数}
  \lineiii{4}{\code{sp_max}}{パスワードを変更しなくても良い最大日数}
  \lineiii{5}{\code{sp_warn}}{パスワードが期限切れになる前に、
  期限切れが近づいている旨の警告をユーザに出しはじめる日数} 
  \lineiii{6}{\code{sp_inact}}{パスワードが期限切れになってから、
  アカウントがinactiveとなり使用できなくなるまでの日数}
  \lineiii{7}{\code{sp_expire}}{1970-01-01からアカウントが使用できなくなるまでの日数}
  \lineiii{8}{\code{sp_flag}}{将来のために予約}
\end{tableiii}

\var{sp_nam}と\var{sp_pwd}は文字列で、他は全て整数です。

エントリが見つからなかった時は\exception{KeyError}が起きます。

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

\begin{funcdesc}{getspnam}{name}
与えられたユーザ名に対応するシャドウパスワードデータベースのエントリを返します。
\end{funcdesc}

\begin{funcdesc}{getspall}{}
利用可能なシャドウパスワードデータベースの全エントリを任意の順番で返します。
\end{funcdesc}


\begin{seealso}
  \seemodule{grp}{このモジュールに似たグループデータベースへのインタフェース}
  \seemodule{pwd}{このモジュールに似た通常のパスワードデータベースへのインタフェース}
\end{seealso}
