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.