-
Notifications
You must be signed in to change notification settings - Fork 0
02 Introduccion a los Usuarios y Grupos
En los sistemas operativos, un usuario no es más que una cuenta que permite a una persona o a una entidad del sistema iniciar sesión para acceder al sistema operativo y realizar tareas. A estos usuarios se les definen ―a través del control de accesos― permisos sobre ciertos recursos (e.g., archivos, directorios, dispositivos del sistema).
En los sistemas Unix y Unix-like, los usuarios son clasificados según su nivel de acceso y sus roles en el sistema. A continuación se muestran los tipos de usuarios más comunes:
-
Root user (Superuser): posee el nivel de privilegios más alto. Tiene acceso a todos los archivos, comandos y configuración del sistema. Siempre tiene
UID0. -
Regular user: cuenta normal con privilegios limitados que puede realizar tareas cotidianas, pero no puede modificar configuraciones núcleo del sistema ni acceder a archivos de otros usuarios.
-
Sudo user: usuario regular al que se le otorgan permisos específicos para ejecutar ciertos comandos como el usuario root, requiriendo autenticación (contraseña) para realizar acciones administrativas.
-
System account: usuario no interactivo creado para aplicaciones o servicios automáticos (daemons) para realizar tareas con permisos restringidos, con el fin de mejorar la seguridad. Generalmente tienen un
UIDmenor a 1000 y no poseen un directorio home real. -
Service account: similar a las system accounts, están diseñados para ejecutar procesos o servicios específicos y, a menudo, carecen de inicio de sesión interactivo con el fin de aislar los recursos.
Los usuarios son definidos en el archivo /etc/passwd
(passwd(5)) donde cada línea representa una
cuenta de usuario. Cada entrada está compuesta de siete campos separados por el
delimitador :. La estructura es la siguiente:
account:password:UID:GID:GECOS:directory:shell
Donde:
| Campo | Descripción | Formato | Obligatorio |
|---|---|---|---|
account |
Nombre de inicio de sesión (nombre de usuario) | Standard *NIX naming rules | Sí |
password |
Contraseña del usuario | Contraseña hasheada. En distribuciones modernas, por defecto se utiliza el algoritmo yescrypt. Se puede configurar el algoritmo mediante el campo ENCRYPT_METHOD del archivo /etc/login.defs
|
No |
UID |
ID numérico que identifica al usuario de forma única en el sistema | Entero con límite definido por el campo UID_MAX del archivo /etc/login.defs
|
Sí |
GID |
ID del grupo primario del usuario. Los grupos se encuentran definidos en /etc/group
|
Entero con límite definido por el campo GID_MAX del archivo /etc/login.defs
|
Sí |
GECOS |
Descripción (comentario) del usuario | Usualmente contiene el nombre completo del usuario, pero también puede ser usado por servicios tales como finger y el comando chfn
|
No |
directory |
Directorio home del usuario. Usado por el comando login para establecer la variable de entorno $HOME
|
Ruta absoluta del directorio home del usuario | Sí |
shell |
Intérprete de comandos (shell) predeterminado del usuario al iniciar sesión | Ruta absoluta del ejecutable de la shell. El valor por defecto suele ser /usr/bin/bash. Para cuentas no interactivas se utiliza comúnmente /sbin/nologin o /usr/bin/nologin
|
No |
Note
Si el campo password contiene una x minúscula, entonces la contraseña
cifrada se encuentra almacenada en el archivo /etc/shadow
(shadow(5)); debe existir una línea
correspondiente en /etc/shadow, de lo contrario la cuenta del usuario es
inválida.
Si el campo password se encuentra vacío, entonces no se requiere contraseña
para iniciar sesión con dicho usuario. Sin embargo, algunas aplicaciones que
leen el archivo /etc/passwd pueden decidir no permitir ningún tipo de acceso
si el campo de la contraseña se encuentra vacío.
Un ejemplo de algunas entradas para el archivo /etc/passwd:
root:x:0:0::/root:/bin/bash
bin:x:1:1::/:/usr/bin/nologin
daemon:x:2:2::/:/usr/bin/nologin
systemd-coredump:x:978:978:systemd Core Dumper:/:/usr/bin/nologin
carlos:x:1000:1000:Carlos Gonzalez Lopez:/home/carlos:/usr/bin/zsh
En sistemas operativos Unix y Unix-like como Linux, un usuario puede pertenecer a uno o más grupos. Un grupo es una colección de usuarios que comparten permisos sobre ciertos recursos.
-
Grupos primarios: asignados automáticamente a cada usuario; por convención, suelen compartir el mismo nombre que el usuario. Es el grupo propietario predeterminado de cualquier archivo creado por el usuario. El GID del grupo primario de un usuario se define en el campo
GIDde/etc/passwd, aunque el grupo en sí está definido en/etc/group. -
Grupos secundarios (suplementarios): grupos adicionales a los que puede pertenecer un usuario. Permiten que múltiples usuarios compartan acceso a recursos comunes.
-
Grupos del sistema: grupos preconfigurados para otorgar acceso a hardware específico, servicios o funciones administrativas (e.g.,
root,wheel,audio,video). Generalmente tienen unGIDmenor a 1000.
Los grupos son definidos en el archivo /etc/group
(group(5)) donde cada línea representa un
grupo. Cada entrada está compuesta de cuatro campos separados por el delimitador
::
group_name:password:GID:user_list
| Campo | Descripción | Formato | Obligatorio |
|---|---|---|---|
group_name |
Nombre del grupo | Standard *NIX naming rules | Sí |
password |
Contraseña del grupo, usada con newgrp para que un usuario cambie su grupo activo a uno del que no es miembro |
Contraseña hasheada; si contiene x, la contraseña real se almacena en /etc/gshadow
|
No |
GID |
ID numérico que identifica al grupo de forma única en el sistema | Entero con límite definido por el campo GID_MAX del archivo /etc/login.defs
|
Sí |
user_list |
Lista de usuarios miembros suplementarios del grupo (no incluye usuarios para los que este es su grupo primario) | Nombres de usuario separados por el delimitador ,
|
No |
Note
Si el campo password contiene una x minúscula, entonces la contraseña
cifrada se encuentra almacenada en el archivo /etc/gshadow
(gshadow(5)); debe existir una línea
correspondiente en /etc/gshadow, de lo contrario el grupo es inválido.
Si el campo password se encuentra vacío, solo los miembros del grupo pueden
cambiar a él con newgrp sin necesidad de contraseña. Si el campo contiene
! o *, ningún usuario puede usar newgrp para unirse al grupo mediante
contraseña.
-
Arch Wiki. (28 de febrero de 2026). Users and Groups. https://wiki.archlinux.org/title/Users_and_groups
-
shadow-utils. (27 de junio de 2025). PASSWD(5). https://man.archlinux.org/man/passwd.5
-
Linux man-pages. (17 de mayo de 2025). group(5). https://man.archlinux.org/man/group.5
-
Shotts, W. (2019). Permissions. The Linux Command Line (2nd ed., pp. 81–82). No Starch Press.
- Definición y Estructura de un Shell
- Los Diferentes Tipos de Shell
- Definición y Sintaxis de un Comando
- Variables, Alias y Funciones
- Comandos de Utilidad y Consulta
- Linux como Sistema Multiusuario
- Introducción a los Usuarios y Grupos
- Gestión de Usuarios
- Gestión de Grupos
- Gestión de Contraseñas
- Búsqueda de Información de Usuarios y Grupos con
getent
- Atributos de Archivos: Propiedad y Permisos de los Archivos
- Cambio de Propiedad y Permisos
umask: Permisos Predeterminados de Archivos- Cambio de Identidad y Privilegios
- Gestión de Paquetes (Package Management)
- Compresión y Archivado de Archivos
- Optimización y Conversion de Archivos