Skip to main content

Usuarios y grupos en Linux

Generalmente se almacena la lista de usuarios en el archivo /etc/passwd y el archivo /etc/shadow almacena las contraseñas con hash. Ambos son archivos de texto en un formato relativamente simple que pueden leerse y modificarse con un editor de texto. Se muestra cada usuario en una línea con varios campos separados por dos puntos.

Lista de usuarios

Se encuentra en el fichero /etc/passwd

Esta es una lista de los campos en el archivo /etc/passwd:

nombre de usuario, por ejemplo etaboada;

contraseña: esta es una contraseña cifrada por una función unidireccional (crypt), que utiliza DES, MD5, SHA-256 o SHA-512. El valor especial «x» indica que la contraseña cifrada está almacenada en /etc/shadow;

uid: número único que identifica a cada usuario;

gid: número único del grupo principal del usuario (de forma predeterminada, Debian crea un grupo específico para cada usuario);

GECOS: campo de datos que generalmente contiene el nombre completo del usuario;

directorio de inicio de sesión, asignado al usuario para almacenar sus archivos personales (al que generalmente apunta la variable de entorno $HOME);

programa a ejecutar al iniciar sesión. Generalmente es un intérprete de órdenes (consola) que le da libertad al usuario. Si especifica /bin/false (que no hace nada y vuelve el control inmediatamente), el usuario no podrá iniciar sesión.

El archivo de contraseñas ocultas y cifradas

Se encuentra en el fichero /etc/shadow

El archivo /etc/shadow contiene los siguientes campos:

nombre de usuario;

contraseña cifrada;

varios campos que administran el vencimiento de la contraseña.

Comandos relacionados con el usuario

passwd

passwd le permite a un usuario normal cambiar su contraseña que, a su vez, actualiza el archivo /etc/shadow

chfn

chfn (cambiar el nombre completo: «CHange Full Name»), reservado para el superusuario (root), modifica el campo GECOS

chsh

(cambiar consola: «CHange SHell») le permite a un usuario cambiar su consola de inicio de sesión; sin embargo las opciones disponibles estarán limitadas a aquellas mencionadas en /etc/shells; el administrador, por el otro lado, no está limitado por esta restricción y puede configurar la consola a cualquier programa de su elección.

chage

chage (cambiar edad: «CHange AGE») permite al administrador cambiar la configuración de expiración de la contraseña (la opción -l usuario mostrará la configuración actual). También puede forzar la expiración de una contraseña utilizando la orden passwd -e usuario, que obligará al usuario a cambiar su contraseña la próxima vez que inicie sesión.

passwd -l usuario

Este comando permite desactivar una cuenta (bloquear el acceso a un usuario). Una cuenta desactivada significa que el usuario no podrá iniciar sesión y obtener acceso a la máquina. La cuenta se mantiene intacta en el equipo y no se eliminarán archivos o datos.

Puedes reactivar la cuenta de forma similar, utilizando la opción -u (desbloquear: «unlock»).

Lista de grupos

Se encuentra en el fichero /etc/group. Una simple base de datos de texto en un formato similar al del archivo /etc/passwd con los siguientes campos:

nombre del grupo;

contraseña (opcional): sólo es utilizada para unirse a un grupo cuando no es un miembro normal

gid: número único de identificación del grupo;

lista de miembros: lista separados por comas de nombres de usuario que son miembros del grupo.