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.

      Gestión de Usuarios y Grupos en Linux