blob: 5f0e6f136888101accedc15a19b5eaec36d2bf11 [file] [log] [blame]
\section{\module{spwd} ---
The shadow password database}
\declaremodule{builtin}{spwd}
\platform{Unix}
\modulesynopsis{The shadow password database (\function{getspnam()} and friends).}
\versionadded{2.5}
This module provides access to the \UNIX{} shadow password database.
It is available on various \UNIX{} versions.
You must have enough privileges to access the shadow password database
(this usually means you have to be root).
Shadow password database entries are reported as a tuple-like object, whose
attributes correspond to the members of the \code{spwd} structure
(Attribute field below, see \code{<shadow.h>}):
\begin{tableiii}{r|l|l}{textrm}{Index}{Attribute}{Meaning}
\lineiii{0}{\code{sp_nam}}{Login name}
\lineiii{1}{\code{sp_pwd}}{Encrypted password}
\lineiii{2}{\code{sp_lstchg}}{Date of last change}
\lineiii{3}{\code{sp_min}}{Minimal number of days between changes}
\lineiii{4}{\code{sp_max}}{Maximum number of days between changes}
\lineiii{5}{\code{sp_warn}}{Number of days before password expires to warn user about it}
\lineiii{6}{\code{sp_inact}}{Number of days after password expires until account is blocked}
\lineiii{7}{\code{sp_expire}}{Number of days since 1970-01-01 until account is disabled}
\lineiii{8}{\code{sp_flag}}{Reserved}
\end{tableiii}
The sp_nam and sp_pwd items are strings, all others are integers.
\exception{KeyError} is raised if the entry asked for cannot be found.
It defines the following items:
\begin{funcdesc}{getspnam}{name}
Return the shadow password database entry for the given user name.
\end{funcdesc}
\begin{funcdesc}{getspall}{}
Return a list of all available shadow password database entries, in arbitrary order.
\end{funcdesc}
\begin{seealso}
\seemodule{grp}{An interface to the group database, similar to this.}
\seemodule{pwd}{An interface to the normal password database, similar to this.}
\end{seealso}