# `spwd` — La base de datos de contraseñas ocultas

Obsoleto desde la versión 3.11, se eliminará en la versión 3.13: El módulo `spwd` está obsoleto (consulte PEP 594 para más detalles y alternativas).

Este módulo proporciona acceso a la base de datos de contraseñas ocultas de Unix. Está disponible en varias versiones de Unix.

Availability: not Emscripten, not WASI.

Este módulo no funciona o no está disponible en las plataformas WebAssembly `wasm32-emscripten` y `wasm32-wasi`. Consulte Plataformas WebAssembly para más información.

Debe tener suficientes privilegios para acceder a la base de datos de contraseñas ocultas (esto generalmente significa que debe ser root).

Las entradas de la base de datos de contraseñas ocultas se informan como un objeto similar a una tupla, cuyos atributos corresponden a los miembros de la estructura `spwd` (campo de atributo a continuación, consulte `<shadow.h>`):

Índice | Atributo | Significado
--- | --- | ---
0 | `sp_namp` | Nombre de inicio de sesión
1 | `sp_pwdp` | Contraseña encriptada
2 | `sp_lstchg` | Fecha del último cambio
3 | `sp_min` | Número mínimo de días entre cambios
4 | `sp_max` | Número máximo de días entre cambios
5 | `sp_warn` | Número de días antes de que expire la contraseña para advertir al usuario sobre ello
6 | `sp_inact` | Número de días desde que caduca la contraseña hasta que se deshabilita la cuenta
7 | `sp_expire` | Número de días desde 1970-01-01 cuando expira la cuenta
8 | `sp_flag` | Reservado

Los elementos sp_namp y sp_pwdp son cadenas, todos los demás son números enteros. Se lanza `KeyError` si no se puede encontrar la entrada solicitada.

Se definen las siguientes funciones:

spwd.getspnam(name)

  Retorna la entrada de la base de datos de contraseñas ocultas para el nombre de usuario especificado.

  Distinto en la versión 3.6: Lanza un `PermissionError` en vez de `KeyError` si el usuario no tiene privilegios.

spwd.getspall()

  Retorna una lista de todas las entradas de la base de datos de contraseñas ocultas disponibles, en orden arbitrario.

Ver también

Módulo `grp`

  Una interfaz para la base de datos del grupo, similar a esta.

Módulo `pwd`

  Una interfaz para la base de datos de contraseñas normal, similar a esta.