Skip to content

02 Introduccion a los Usuarios y Grupos

Alan edited this page Jun 13, 2026 · 1 revision

Introducción a los Usuarios y Grupos

Tabla de Contenidos

Qué es un Usuario

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).

Tipos de Usuario

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 UID 0.

  • 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 UID menor 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.

Atributos de un Usuario

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
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
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
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
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

Qué es un Grupo

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.

Tipos de Grupos

  • 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 GID de /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 un GID menor a 1000.

Atributos de un Grupo

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
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
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.

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