Skip to content

05 Gestion de Contrasenias

Alan edited this page Jun 13, 2026 · 1 revision

Gestión de Contraseñas de Usuarios y Grupos

Tabla de Contenidos

Contraseñas de Usuarios

El archivo /etc/shadow

Mientras que el archivo /etc/passwd contiene la información de las cuentas de los usuarios del sistema, el archivo /etc/shadow contiene las contraseñas de las cuentas de usuario e información opcional del envejecimiento de dichas contraseñas. Cada entrada (línea) de este archivo está compuesta de nueve campos separados por el delimitador :. La estructura es la siguiente:

account:password:date_of_last_password_change:min_password_age:
max_password_age:password_warning_period:password_inactivity_period:
account_expiration_date:reserved
Campo Descripción Formato Obligatorio
account Nombre de inicio de sesión (nombre de usuario) Standard *NIX naming rules
password Contraseña cifrada o hasheada del usuario Si el campo se encuentra vacío, el usuario puede iniciar sesión sin contraseña. Cuando se bloquea la contraseña, se le agrega un ! al principio No
date_of_last_password_change Fecha de la última modificación de la contraseña Número de días después de 1970-01-01 00:00:00 UTC. El valor cero indica que el usuario debe modificar la contraseña la próxima vez que inicie sesión. Un campo vacío significa que las funciones de password aging están deshabilitadas No
min_password_age Envejecimiento mínimo de la contraseña Número de días que el usuario debe esperar para cambiar su contraseña. Un valor de cero o un campo vacío significa que no hay un min_password_age No
max_password_age Envejecimiento máximo de la contraseña Número de días que deben transcurrir para que el usuario deba cambiar su contraseña; se le solicitará al usuario cambiar su contraseña la próxima vez que inicie sesión. Un campo vacío significa que no hay un max_password_age. No
password_warning_period Período de advertencia de la expiración de la contraseña Número de días antes de que la contraseña expire (max_password_age). Cuando se llegue a este período, el usuario será alertado. Un campo vacío o un valor de cero significa que no hay password_warning_period No
password_inactivity_period Período de inactividad de la contraseña Número de días después de que la contraseña expire (max_password_age), durante los cuales la contraseña aún es aceptada; el usuario debe cambiar la contraseña la próxima vez que inicie sesión. Un campo vacío o un valor de cero significa que no hay password_inactivity_period No
account_expiration_date Fecha de expiración de la cuenta Fecha en la que expira la cuenta, expresada como el número de días desde 1970-01-01. Un campo vacío significa que la cuenta nunca expira. El valor cero no debe usarse debido a que es interpretado como la fecha de expiración 1970-01-01 No
reserved Reservado para uso futuro No

Gestión de Contraseñas de Usuarios con passwd

Acerca de passwd

El comando passwd permite crear y actualizar contraseñas para una cuenta de usuario. También permite cambiar el período de validez de la cuenta o la contraseña asociada.

Sintaxis de passwd

passwd [opciones] [LOGIN]

Opciones de passwd

Uso Descripción Ejemplo
passwd [LOGIN] Cambia la contraseña del usuario actual o del usuario LOGIN interactivamente passwd
passwd root
passwd -S [LOGIN] Obtén el status (estado) del usuario actual o del usuario LOGIN passwd -S
passwd -S carmen
passwd -aS [LOGIN] Obtén el status de todos los usuarios passwd -aS
passwd -d LOGIN Remueve la contraseña del usuario LOGIN, estableciéndola como vacía passwd -d leo
passwd -e LOGIN Expira la contraseña de una cuenta. Esto forza al usuario a cambiar su contraseña la próxima vez que inicie sesión passwd -e javier
passwd -i INACTIVE LOGIN Deshabilita la cuenta LOGIN una vez que la contraseña haya expirado y hayan transcurrido INACTIVE días passwd -i 180 $USER
passwd -l LOGIN Bloquea la contraseña para la cuenta LOGIN. Esto no deshabilita la cuenta. El usuario podría iniciar sesión por otro token de autenticación (e.g., llave SSH) passwd -l alex
passwd -u LOGIN Desbloquea la contraseña para la cuenta LOGIN. El usuario puede usar su contraseña previa para iniciar sesión passwd -u alex
passwd -w WARN_DAYS LOGIN El usuario comienza a recibir warnings (alertas) al iniciar sesión cuando faltan por lo menos WARN_DAYS días para que la contraseña expire passwd -w 30 gaby
passwd -n MIN_DAYS LOGIN Permite al usuario cambiar su contraseña a partir de MIN_DAYS días. Cuando MIN_DAYS vale cero significa que el usuario puede cambiar su contraseña en cualquier momento passwd -n 30 gaby
passwd -x MAX_DAYS LOGIN Establece el número máximo de días en el que la contraseña del usuario se mantiene válida. Después de MAX_DAYS, se solicita cambiar la contraseña. Cuando MAX_DAYS vale -1, entonces removerá el chequeo de la validación de la contraseña passwd -x 180 gaby

Note

Los comandos usermod -L LOGIN y usermod -U LOGIN son equivalentes a passwd -l y passwd -u respectivamente.

Gestión de Contraseñas de Usuarios con chage

Acerca de chage

El comando chage permite cambiar información de expiración de contraseñas para un usuario. Establece el número entre los cambios de contraseñas y la fecha del último cambio de contraseña. Esta información puede ser usada por el sistema para determinar cuándo el usuario debe cambiar su contraseña.

Sintaxis de chage

chage [opciones] LOGIN

Opciones de chage

Uso Descripción Ejemplo
chage LOGIN Muestra o modifica de forma interactiva la información de expiración de la contraseña del usuario LOGIN chage carmen
chage -d LAST_DAY LOGIN Establece la fecha en la que la contraseña fue cambiada por última vez. LAST_DAY puede ser una fecha en el formato YYYY-MM-DD o el número de días desde la fecha 1970-01-01 chage -d 0 gaby
chage -E EXPIRE_DATE LOGIN Establece la fecha en la que la cuenta del usuario no será accesible. EXPIRE_DATE puede ser una fecha en el formato YYYY-MM-DD o el número de días desde la fecha 1970-01-01 chage -E 2026-12-31 javier
chage -I INACTIVE LOGIN Establece el número de días (INACTIVE) de inactividad después de que una contraseña ha expirado antes de que la cuenta se bloquee chage -I 180 $USER
chage -W WARN_DAYS LOGIN El usuario comienza a recibir warnings (alertas) al iniciar sesión cuando faltan por lo menos WARN_DAYS días para que la contraseña expire chage -W 30 gaby
chage -m MIN_DAYS LOGIN Permite al usuario cambiar su contraseña a partir de MIN_DAYS días. Cuando MIN_DAYS vale cero significa que el usuario puede cambiar su contraseña en cualquier momento chage -m 30 gaby
chage -M MAX_DAYS LOGIN Establece el número máximo de días en el que la contraseña del usuario se mantiene válida. Después de MAX_DAYS, se solicita cambiar la contraseña. Cuando MAX_DAYS vale -1, entonces removerá el chequeo de la validación de la contraseña chage -M 180 gaby

Note

El comando usermod -e EXPIRE_DATE LOGIN es equivalente a chage -E EXPIRE_DATE LOGIN.

Contraseñas de Grupos

El archivo /etc/gshadow

Mientras que el archivo /etc/group contiene la información de los grupos del sistema, el archivo /etc/gshadow contiene la información confidencial para los grupos del sistema. Cada entrada (línea) de este archivo está compuesta de cuatro campos separados por el delimitador :. La estructura es la siguiente:

group_name:password:administrators:members
Campo Descripción Formato Obligatorio
group_name Nombre del grupo Standard *NIX naming rules
password Contraseña cifrada o hasheada del grupo No
administrators Los administradores pueden cambiar la contraseña o los miembros del grupo Lista de nombres de usuario separados por comas No
members Los miembros pueden acceder al grupo sin necesidad de una contraseña Lista de nombres de usuario separados por comas No

Gestión de Contraseñas de Grupos con gpasswd

Acerca de gpasswd

El comando gpasswd permite crear y actualizar contraseñas para un grupo. También permite gestionar los administradores y miembros del grupo.

Sintaxis de gpasswd

gpasswd [opciones] GROUP

Opciones de gpasswd

Uso Descripción Ejemplo
gpasswd GROUP Cambia la contraseña del grupo GROUP interactivamente gpasswd developers
gpasswd -r GROUP Remueve la contraseña del grupo GROUP gpasswd -r developers
gpasswd -R GROUP Restringe el acceso al grupo GROUP; solo los miembros del grupo pueden usar newgrp para unirse a él gpasswd -R developers
gpasswd -a USER GROUP Agrega el usuario USER como miembro del grupo GROUP gpasswd -a leo developers
gpasswd -d USER GROUP Elimina al usuario USER del grupo GROUP gpasswd -d leo developers
gpasswd -A ADMIN,... GROUP Define la lista de administradores del grupo GROUP. Los administradores pueden cambiar la contraseña y los miembros del grupo gpasswd -A alex developers
gpasswd -M USER,... GROUP Define la lista de miembros del grupo GROUP gpasswd -M alex,leo developers

Recursos Recomendados

Referencias

Introducción a los Sistemas Operativos

Introducción a Linux

Licencias de Software

Archivos y Directorios

Introducción a la CLI

Manipulación de Archivos y Directorios

Documentación y Exploración de Comandos

Redirección

Búsqueda de Archivos y Texto

Editores de Texto de Terminal

Gestión de Usuarios y Grupos

Propiedad y Permisos

Herramientas Esenciales

Hardware

Apéndice

Clone this wiki locally