Volver al blog
Linux y Servidores2026-03-12

Cómo Crear Usuarios, Grupos y Administrar Permisos en Linux

Entienda cómo administrar usuarios, crear grupos y utilizar los comandos chmod y chown para controlar el acceso a archivos y carpetas en Linux.

El sistema de permisos de Linux se basa en el principio del privilegio mínimo. Esto significa que los usuarios y procesos deben tener acceso estrictamente a lo que necesitan para trabajar, reduciendo la superficie de ataque en caso de vulnerabilidades.

En esta guía práctica, abordamos cómo crear usuarios, agruparlos y controlar el acceso a archivos y directorios utilizando comandos esenciales de la terminal.

1. Creación y Administración de Usuarios

Nunca ejecute su aplicación ni comparta cuentas utilizando el usuario root directamente. Cree cuentas individuales y con privilegios limitados.

Comandos útiles:

  • Crear usuario:
    sudo adduser nombre_usuario

    (El comando adduser crea automáticamente la carpeta home del usuario y solicita la creación de la contraseña).
  • Eliminar usuario:
    sudo deluser nombre_usuario
  • Agregar usuario al grupo sudo (administrador):
    sudo usermod -aG sudo nombre_usuario

2. Creación y Administración de Grupos

Los grupos facilitan el intercambio de directorios entre múltiples usuarios (por ejemplo, desarrolladores que necesitan editar los mismos archivos de un sitio web en WordPress).

Cómo estructurar:

  1. Cree el grupo de trabajo:
    sudo groupadd devteam
  2. Agregue los usuarios al grupo:
    sudo usermod -aG devteam usuario1
    sudo usermod -aG devteam usuario2

3. Cambio de Propietarios de Archivos con chown

Cada archivo y carpeta en Linux pertenece a un usuario y a un grupo. El comando chown (change owner) cambia esta propiedad.

Uso práctico:

Para establecer el usuario www-data y el grupo devteam como propietarios de una carpeta de aplicación web de forma recursiva (todas las subcarpetas): sudo chown -R www-data:devteam /var/www/misitio

4. Administración de Permisos con chmod

El comando chmod (change mode) define quién puede leer (r), escribir (w) o ejecutar (x) archivos y directorios.

Los permisos se distribuyen en tres clases:

  1. Propietario (User - u)
  2. Grupo (Group - g)
  3. Otros (Others - o)

Representación Numérica (Octal):

  • 4 = Leer (read)
  • 2 = Escribir (write)
  • 1 = Ejecutar (execute)

Sumando los valores, generamos el permiso. Por ejemplo:

  • 7 (4+2+1): Permiso total (leer, escribir y ejecutar).
  • 6 (4+2): Leer y escribir.
  • 5 (4+1): Leer y ejecutar.
  • 4: Solo leer.

Ejemplos comunes de chmod:

  • chmod 755 archivo.sh: Permite que el propietario haga todo, mientras que el grupo y otros solo pueden leer y ejecutar (común para scripts públicos).
  • chmod 600 id_rsa: Permite que solo el propietario lea y escriba en el archivo (obligatorio para llaves privadas SSH).
  • chmod -R 775 /var/www: Otorga permiso total al propietario y al grupo de desarrollo, y lectura/ejecución a otros.

5. Ejemplo: usuario de deploy y la carpeta del sitio

Cuenta sin clave de login, grupo del sitio, dueño y permiso. El 2775 en los directorios activa el bit setgid: el archivo nuevo hereda el grupo web.

sudo adduser --disabled-password --gecos "" deploy
sudo groupadd --force web
sudo usermod -aG web deploy
sudo mkdir -p /var/www/misitio
sudo chown -R deploy:web /var/www/misitio
sudo find /var/www/misitio -type d -exec chmod 2775 {} \;
sudo find /var/www/misitio -type f -exec chmod 664 {} \;
id deploy
namei -l /var/www/misitio

id muestra los grupos. namei -l muestra el permiso de cada carpeta en la ruta. La clave pública entra con modo 600, y el directorio .ssh con 700:

sudo -u deploy mkdir -p /home/deploy/.ssh
sudo -u deploy chmod 700 /home/deploy/.ssh
echo 'ssh-ed25519 AAAA... deploy@notebook' | sudo -u deploy tee /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys

Cambie AAAA... por la clave real. chmod 777 no entra en este recorrido: cualquier usuario del servidor pasaría a escribir en la aplicación.

Conclusión

Mantener el control correcto de propietarios y permisos es uno de los pilares de la seguridad de cualquier servidor Linux. Aplicar el chown y chmod correctos evita brechas de seguridad en archivos confidenciales sin interferir con el funcionamiento de sus aplicaciones.

Servidor VPS KVM gestionado

ExpertCore levanta y administra el VPS: KVM aislado, copias de seguridad y soporte de ingeniería.

Ver planes de VPS