Usuarios y grupos en Linux explicados

Resumen

Linux organiza el acceso al sistema mediante usuarios y grupos, una estructura que permite separar responsabilidades, controlar permisos y rastrear quién hace qué dentro del sistema operativo. Si estás empezando en administración de sistemas o seguridad, entender este modelo es la base para todo lo que viene después.

¿Qué son los usuarios en Linux y para qué sirven?

Los usuarios son la forma en que Linux identifica a quién pertenece cada acción y cada archivo. Cada usuario tiene permisos específicos que determinan qué puede ejecutar y a qué información puede acceder.

Cada usuario en Linux carga consigo tres elementos básicos:

  • Un UID o identificador único, que distingue al usuario dentro del sistema.
  • Uno o más GID, que son los identificadores de los grupos a los que pertenece.
  • Un directorio home, ubicado normalmente en /home/nombre_usuario.

Esta estructura es la que permite que dos personas trabajando en el mismo servidor tengan espacios y permisos completamente separados.

¿Qué es un UID en Linux? Es el número único que identifica a cada usuario dentro del sistema. Aunque cambies el nombre del usuario, el UID sigue siendo la referencia interna que Linux utiliza para asignar permisos.

¿Dónde guarda Linux la información de los usuarios?

Toda la información de los usuarios vive en un archivo muy específico: /etc/passwd. Solo los usuarios con permisos de administrador pueden leerlo, y su formato es estricto.

Cómo se lee el archivo passwd

Cada línea del archivo representa un usuario y sus campos están separados por dos puntos en este orden:

  • Nombre del usuario.
  • Password, que aparece como una x porque la contraseña real se guarda en otro archivo.
  • User ID (UID).
  • Group ID (GID).
  • Gecos, un campo libre donde puedes registrar información extra como nombre completo, dirección o teléfono.
  • Directorio home, por ejemplo /home/codebars.
  • Shell de inicio, que suele ser Bash por defecto, aunque puedes configurar otra como ZSH.

Este formato es el mismo en cualquier distribución de Linux, así que aprenderlo una vez te sirve para siempre.

¿Qué hace el archivo shadow y por qué es tan importante?

El archivo /etc/shadow es donde Linux guarda las contraseñas de todos los usuarios, pero cifradas con un hash robusto. Aunque alguien lograra leerlo, no podría obtener la contraseña original con facilidad.

De este archivo te interesa reconocer dos señales clave:

  • Si el campo de contraseña empieza con un asterisco, ese usuario nunca ha tenido una contraseña asignada.
  • Si aparece un signo de admiración, el usuario ha sido bloqueado y no puede iniciar sesión.

Bloquear usuarios es una práctica común en servidores cuando alguien deja un equipo o cuando quieres deshabilitar temporalmente una cuenta sin eliminarla.

¿Cómo sé si un usuario está bloqueado en Linux? Revisa el archivo /etc/shadow: si su contraseña hasheada inicia con !, el usuario está bloqueado y no podrá autenticarse.

¿Qué son los grupos en Linux y por qué los necesitas?

Los grupos sirven para agrupar usuarios bajo un mismo conjunto de permisos. En lugar de configurar accesos uno por uno, defines un grupo y todos sus miembros heredan esos permisos.

Los grupos son especialmente útiles en dos escenarios:

  • Carpetas compartidas: si dos usuarios pertenecen al mismo grupo, ambos pueden acceder a los mismos archivos y directorios.
  • Servicios y demonios: muchos procesos que corren en init.d, como Docker o Postgres, usan grupos para otorgar permisos. Si agregas un usuario al grupo de Docker, esa persona podrá ejecutar contenedores sin necesitar privilegios de administrador.

Este modelo es el que hace que Linux escale bien en entornos con múltiples desarrolladores o servicios trabajando al mismo tiempo.

¿Para qué se usa el campo Gecos? Es un campo opcional dentro de /etc/passwd donde puedes guardar información descriptiva del usuario, como su nombre completo o teléfono, sin afectar el funcionamiento del sistema.

En las próximas clases vas a poner en práctica todo esto: crear, modificar, eliminar y asignar grupos a usuarios reales en tu sistema. ¿Qué uso le piensas dar a los grupos en tu propio servidor? Cuéntalo en los comentarios.