Resumen

Gestionar quién puede hacer qué dentro de un sistema Linux es una de las habilidades más importantes para cualquier administrador. Comprender cómo funcionan los usuarios y grupos permite controlar accesos, proteger información y organizar permisos de forma eficiente.

¿Qué son los usuarios en Linux y por qué necesitan un UID?

Los usuarios en Linux representan identidades separadas dentro del sistema operativo. Cada uno tiene responsabilidades y permisos distintos, lo que permite saber quién ejecutó cada acción y limitar el acceso a archivos e información según corresponda [0:18].

Cada usuario cuenta con tres elementos fundamentales:

  • UID (User ID): un identificador único que el sistema asigna para distinguir a cada usuario.
  • GID (Group ID): uno o más identificadores que vinculan al usuario con grupos de permisos.
  • Directorio home: la carpeta personal del usuario, ubicada generalmente en /home/nombre_usuario.

Dependiendo de los permisos otorgados, un usuario podrá ejecutar comandos, leer archivos o modificar configuraciones. Esta separación es la base de la seguridad en sistemas Linux [0:30].

¿Qué información almacenan los archivos passwd y shadow?

Linux utiliza archivos especiales para registrar la información de cada usuario. Conocerlos es esencial para entender cómo el sistema gestiona las cuentas.

¿Cómo se estructura el archivo /etc/passwd?

El archivo /etc/passwd contiene los datos de todos los usuarios del sistema y solo los administradores pueden visualizarlo [1:10]. Cada línea sigue un formato específico separado por dos puntos:

  • Nombre de usuario.
  • Contraseña: aparece como una x porque el valor real se almacena en otro archivo.
  • UID: el identificador numérico del usuario.
  • GID: el identificador del grupo principal.
  • GECOS: un campo opcional con información adicional como nombre completo, dirección o número de teléfono [1:42].
  • Directorio home: por ejemplo, /home/codebars.
  • Shell: la terminal de inicio preferida, como bash o zsh.

¿Qué papel cumple el archivo /etc/shadow?

El archivo shadow es donde se almacenan las contraseñas de forma cifrada mediante un hash robusto [2:15]. Aunque el contenido cifrado no es legible, hay dos indicadores clave que debes conocer:

  • Un asterisco (*) en el campo de contraseña significa que el usuario nunca ha tenido una contraseña asignada [2:30].
  • Un signo de exclamación (!) indica que el usuario ha sido bloqueado y no puede iniciar sesión [2:48].

Esta distinción es muy útil cuando necesitas auditar cuentas o gestionar bloqueos de seguridad directamente desde el sistema.

¿Para qué sirven los grupos y cómo se relacionan con los permisos?

Los grupos son la forma que tiene Linux de concentrar permisos y aplicarlos a varios usuarios a la vez [3:05]. En lugar de asignar permisos individualmente, puedes añadir usuarios a un grupo que ya tiene los accesos configurados.

Sus usos más comunes incluyen:

  • Carpetas compartidas: si dos usuarios pertenecen al mismo grupo, ambos pueden acceder a los mismos documentos y directorios.
  • Servicios y demonios: muchos servicios externos como Docker o PostgreSQL crean sus propios grupos. Cuando un usuario pertenece al grupo de Docker, obtiene permisos para ejecutar contenedores; si pertenece al grupo de Postgres, puede acceder a la base de datos [3:20].

Estos servicios corren como daemons (demonios) gestionados por init.d, y la pertenencia a sus grupos determina qué usuarios pueden interactuar con ellos.

Dominar la creación, eliminación y modificación de grupos, así como su asignación a usuarios, es una competencia práctica que marca la diferencia en la administración de cualquier servidor Linux. Si te interesa profundizar, comparte en los comentarios qué caso de uso te resulta más relevante.