Creando y gestionando usuarios y grupos desde la línea de comandos

Introducción

En entornos Linux y Unix-like, la correcta administración de usuarios y grupos resulta fundamental para mantener la seguridad, la organización y el rendimiento del sistema. Este artículo explica en detalle cómo crear, modificar y gestionar cuentas de usuario y grupos mediante la línea de comandos, aportando ejemplos, buenas prácticas y referencias a la documentación oficial.

Fundamentos de usuarios y grupos

¿Qué es un usuario

Un usuario es una identidad que tiene permisos para acceder al sistema. Cada usuario posee un UID (User ID) y atributos como nombre, directorio home, intérprete de comandos y políticas de contraseña.

¿Qué es un grupo

Un grupo agrupa varios usuarios para compartir permisos de archivos y recursos. Cada grupo tiene un GID (Group ID) y un nombre asociado.

Estructura de archivos clave

Archivo Descripción
/etc/passwd Información de cuentas de usuario (UID, home, shell).
/etc/shadow Contraseñas cifradas y políticas de expiración.
/etc/group Definición de grupos y sus miembros.

Comandos básicos

  • useradd: Crea un usuario.
  • usermod: Modifica atributos de un usuario.
  • userdel: Elimina un usuario.
  • groupadd: Crea un grupo.
  • groupmod: Modifica un grupo.
  • groupdel: Elimina un grupo.
  • passwd: Cambia la contraseña de un usuario.
  • id: Muestra UID, GID y grupos de un usuario.

Creación de usuarios

Para crear usuarios de forma controlada, conviene definir opciones como el directorio home, el shell y el UID. A continuación, un ejemplo típico:

useradd -m -d /home/juan -s /bin/bash -c Usuario Juan Pérez -U juan
passwd juan
  
  • -m: Crea el home.
  • -d directorio: Especifica el home.
  • -s shell: Define el intérprete de comandos.
  • -c comentario: Añade descripción.
  • -U: Crea un grupo privado con el mismo nombre.

Para más opciones, consultar la manpage de useradd.

Modificación y eliminación de cuentas

Modificar usuario

usermod -l juanp -d /home/juanp -m juan
usermod -G sudo,developers juanp
  
  • -l: Cambia el login.
  • -G: Lista de grupos suplementarios.
  • -m y -d: Mueve el home.

Eliminar usuario

userdel -r juanp
  

-r borra el directorio home y el mail spool.

Administración de grupos

Crear y borrar grupos

groupadd desarrolladores
groupdel desarrolladores
  

Modificar grupos

groupmod -n devops desarrolladores
  

Este comando renombra el grupo desarrolladores a devops.

Permisos y contexto de usuario

Los permisos de archivos se asignan según el dueño, el grupo y otros. Para cambiar propietarios y grupos:

chown juanp:devops /var/www/html -R
chmod 750 /var/www/html -R
  
  • chown: Cambiar dueño y grupo.
  • chmod: Cambiar permisos (ej. 7=rwx, 5=rx, 0=—).

Casos prácticos

Equipo de desarrollo

  1. Crear grupo compartido:
groupadd proyectos
  
  1. Añadir usuarios al grupo:
usermod -aG proyectos ana
usermod -aG proyectos luis
  
  1. Asignar permisos en directorio:
mkdir /srv/proyectos
chown root:proyectos /srv/proyectos
chmod 770 /srv/proyectos
  

Buenas prácticas y recomendaciones

  • Utilizar UIDs/GIDs personalizados para evitar colisiones.
  • Documentar cada cuenta con el campo comentario.
  • No agregar usuarios al grupo sudo sin necesidad real.
  • Auditar lastlog y /var/log/auth.log para detectar accesos no autorizados.
  • Aplicar políticas de expiración de contraseña con chage.

Referencias

Artículo creado para ofrecer un marco completo y profesional de la gestión de usuarios y grupos en sistemas Linux. Seguir estas pautas contribuirá a un entorno más seguro, organizado y escalable.

Download TXT




Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *