35.3. "spwd" — La base de données de mots de passe *shadow*
***********************************************************

======================================================================

Ce module permet d'accéder à la base de données UNIX de mots de passe
*shadow*. Elle est disponible sur différentes versions d'UNIX.

Vous devez disposer des droits suffisants pour accéder à la base de
données de mots de passe *shadow* (cela signifie généralement que vous
devez être *root*).

Les entrées de la base de données de mots de passe *shadow* sont
renvoyées  comme un objet semblable à un tuple, dont les attributs
correspondent aux membres de la structure "spwd" (champ attribut ci-
dessous, voir "<shadow.h>") :

+---------+-----------------+-----------------------------------+
| Index   | Attribut        | Signification                     |
|=========|=================|===================================|
| 0       | "sp_namp"       | Nom d’utilisateur                 |
+---------+-----------------+-----------------------------------+
| 1       | "sp_pwdp"       | Mot de passe haché                |
+---------+-----------------+-----------------------------------+
| 2       | "sp_lstchg"     | Date du dernier changement        |
+---------+-----------------+-----------------------------------+
| 3       | "sp_min"        | Nombre minimal de jours entre les |
|         |                 | modifications                     |
+---------+-----------------+-----------------------------------+
| 4       | "sp_max"        | Nombre maximal de jours entre les |
|         |                 | modifications                     |
+---------+-----------------+-----------------------------------+
| 5       | "sp_warn"       | Nombre de jours avant             |
|         |                 | l'expiration du mot de passe      |
|         |                 | pendant lequel l'utilisateur doit |
|         |                 | être prévenu                      |
+---------+-----------------+-----------------------------------+
| 6       | "sp_inact"      | Nombre de jours avant la          |
|         |                 | désactivation du compte, suite à  |
|         |                 | l'expiration du mot de passe      |
+---------+-----------------+-----------------------------------+
| 7       | "sp_expire"     | Date à laquelle le compte expire, |
|         |                 | en nombre de jours depuis le 1er  |
|         |                 | janvier 1970                      |
+---------+-----------------+-----------------------------------+
| 8       | "sp_flag"       | Réservé                           |
+---------+-----------------+-----------------------------------+

Les champs "sp_namp" et "sp_pwdp" sont des chaines de caractères, tous
les autres sont des entiers. "KeyError" est levée si l’entrée demandée
est introuvable.

Les fonctions suivantes sont définies :

spwd.getspnam(name)

   Renvoie l'entrée de base de données de mot de passe *shadow* pour
   le nom d'utilisateur donné.

   Modifié dans la version 3.6: Lève une "PermissionError" au lieu
   d’une "KeyError" si l’utilisateur n’a pas les droits suffisants.

spwd.getspall()

   Renvoie une liste de toutes les entrées de la base de données de
   mots de passe *shadow*, dans un ordre arbitraire.

Voir aussi:

  Module "grp"
     Interface pour la base de données des groupes, similaire à celle-
     ci.

  Module "pwd"
     Interface pour la base de données (normale) des mots de passe,
     semblable à ceci.
