# 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.