
Administrar usuarios y permisos en Linux es una habilidad esencial para cualquier persona que quiera trabajar con servidores, escritorios, VPS, laboratorios, DevOps o ciberseguridad defensiva. En Linux, cada archivo, carpeta, proceso y servicio está relacionado con usuarios, grupos y reglas de acceso.
Comprender estos conceptos evita errores comunes como dar permisos excesivos, trabajar siempre como root, dejar archivos sensibles expuestos o permitir que usuarios sin autorización modifiquen configuraciones críticas.
Idea central: Linux protege el sistema mediante tres pilares: usuarios, grupos y permisos. Si entiendes cómo funcionan rwx, chmod, chown, groups y sudo, tendrás una base sólida para administrar cualquier servidor.
1. Qué son usuarios y grupos en Linux
Un usuario representa una cuenta del sistema. Puede ser una persona real, como un administrador, o una cuenta de servicio utilizada por aplicaciones como Nginx, PostgreSQL, MariaDB, Docker o Wazuh.
Un grupo permite reunir usuarios para otorgar permisos de forma ordenada. En lugar de dar acceso archivo por archivo a cada persona, se puede crear un grupo y asignar permisos a todos sus miembros.
| Elemento | Función | Ejemplo |
|---|---|---|
| Usuario | Cuenta que puede iniciar sesión o ejecutar procesos. | ana, soporte, deploy. |
| Grupo | Conjunto de usuarios con permisos compartidos. | developers, sysadmin, webteam. |
| Root | Usuario administrador con control total del sistema. | root. |
| Sudo | Permite ejecutar comandos administrativos de forma controlada. | sudo apt update. |
2. Comandos para saber quién eres en el sistema
Antes de modificar permisos, conviene conocer con qué usuario estás trabajando, a qué grupos perteneces y qué privilegios tienes.
El comando id muestra el identificador del usuario, el grupo principal y los grupos secundarios. Esto es útil para saber si una persona pertenece, por ejemplo, al grupo sudo, wheel, docker o www-data.
3. Crear usuarios en Linux
En distribuciones basadas en Debian o Ubuntu, el comando adduser suele ser más amigable porque crea el usuario, su carpeta personal y solicita contraseña de forma interactiva.
En Red Hat, Rocky Linux, AlmaLinux, Fedora y otras distribuciones también se utiliza con frecuencia useradd:
La opción -m crea la carpeta personal del usuario y -s /bin/bash define el shell de inicio.
4. Cambiar o bloquear contraseñas
Para cambiar la contraseña de un usuario:
Para bloquear temporalmente una cuenta:
Consejo: bloquear una cuenta puede ser más seguro que eliminarla de inmediato, sobre todo si necesitas conservar archivos, auditoría o historial.
5. Crear grupos y agregar usuarios
Los grupos son la forma ordenada de conceder acceso a carpetas, proyectos o servicios.
La opción -aG agrega el usuario a un grupo secundario sin quitarlo de sus grupos actuales.
Cuidado: usar usermod -G sin la opción -a puede reemplazar los grupos secundarios del usuario. Para agregar sin eliminar grupos existentes, usa usermod -aG.
6. Dar privilegios administrativos con sudo
No es buena práctica trabajar siempre como root. Lo recomendable es usar una cuenta normal y elevar privilegios solo cuando sea necesario mediante sudo.
En Ubuntu, Debian y Linux Mint se suele usar el grupo sudo:
En Red Hat, Fedora, Rocky Linux y AlmaLinux se usa frecuentemente el grupo wheel:
Después de agregar el usuario al grupo, cierra sesión y vuelve a entrar para que los cambios se apliquen correctamente.
7. Entender permisos rwx
Linux usa tres permisos básicos: lectura, escritura y ejecución. Estos permisos se aplican sobre tres niveles: propietario, grupo y otros.
| Permiso | En archivos | En directorios |
|---|---|---|
| r lectura | Permite leer el contenido. | Permite listar archivos. |
| w escritura | Permite modificar el archivo. | Permite crear, borrar o renombrar archivos dentro. |
| x ejecución | Permite ejecutar scripts o binarios. | Permite entrar al directorio. |
Para ver permisos:
Una salida como -rw-r--r-- significa: el propietario puede leer y escribir; el grupo puede leer; los demás pueden leer.
8. Cambiar permisos con chmod
chmod permite modificar permisos. Puedes usar modo simbólico o modo numérico.
En modo numérico, los valores más usados son:
| Permiso | Significado | Uso común |
|---|---|---|
| 600 | Solo el propietario lee y escribe. | Archivos privados, claves. |
| 644 | Propietario escribe; todos leen. | Archivos web estáticos. |
| 700 | Solo el propietario tiene acceso completo. | Directorios privados. |
| 755 | Propietario completo; otros leen y ejecutan. | Directorios públicos y scripts. |
| 770 | Propietario y grupo tienen acceso completo. | Carpetas de trabajo compartido. |
Evita chmod 777: dar lectura, escritura y ejecución a todos casi nunca es buena práctica. Si “solo funciona con 777”, normalmente hay un problema de propietario, grupo o configuración.
9. Cambiar propietario con chown y grupo con chgrp
chown cambia el propietario de un archivo o carpeta. chgrp cambia el grupo asociado.
Para aplicar cambios de forma recursiva a una carpeta:
Precaución: los cambios recursivos con -R pueden afectar muchos archivos. Revisa dos veces la ruta antes de ejecutar el comando.
10. Crear una carpeta compartida correctamente
Supongamos que un equipo de desarrollo necesita trabajar en /srv/proyecto. Lo correcto es usar un grupo, asignar propiedad y definir permisos.
El permiso 2770 activa el bit SGID en el directorio. Esto ayuda a que los archivos creados dentro hereden el grupo del proyecto, facilitando el trabajo colaborativo.
11. Usar ACL cuando los permisos clásicos no bastan
Los permisos tradicionales de Linux funcionan muy bien, pero a veces necesitas dar acceso a un usuario específico sin cambiar el propietario ni el grupo principal. Para eso existen las ACL.
Para quitar una ACL específica:
12. Revisar cuentas y permisos peligrosos
En servidores Linux conviene revisar periódicamente usuarios, grupos administrativos, archivos con permisos excesivos y servicios que corren con privilegios innecesarios.
El último comando busca archivos escribibles por cualquiera. Debe analizarse con cuidado porque algunos archivos temporales pueden ser normales, pero en rutas críticas puede representar un riesgo.
Buenas prácticas para usuarios y permisos
- No trabajes diariamente como root.
- Usa sudo solo cuando sea necesario.
- Crea usuarios personales, no compartidos.
- Usa grupos para proyectos y servicios.
- Evita permisos 777.
- No cambies permisos de todo el sistema sin entender el impacto.
- Revisa periódicamente miembros de sudo o wheel.
- Bloquea cuentas que ya no se usan.
- Protege archivos privados con permisos restrictivos.
- Documenta quién tiene acceso a cada carpeta crítica.
Errores frecuentes
- Usar chmod 777 para resolver cualquier problema.
- Ejecutar aplicaciones web como root.
- Compartir una misma cuenta administrativa entre varias personas.
- No revisar usuarios antiguos después de cambios de personal.
- Agregar usuarios a sudo sin justificación.
- Usar chown -R sobre una ruta equivocada.
- Dar permisos de escritura a “otros” en carpetas importantes.
- No diferenciar permisos de archivos y directorios.
- No comprobar grupos después de usar usermod.
Preguntas clave
¿Cuál es la diferencia entre usuario y grupo?
El usuario representa una cuenta individual o de servicio. El grupo reúne usuarios para administrar permisos de forma más sencilla.
¿Qué significa rwx en Linux?
r significa lectura, w escritura y x ejecución. En directorios, x permite entrar a la carpeta.
¿Por qué no debo usar chmod 777?
Porque permite que cualquier usuario lea, escriba y ejecute. Es inseguro para servidores, sitios web y archivos sensibles.
¿Qué diferencia hay entre chmod y chown?
chmod cambia permisos. chown cambia propietario y grupo propietario del archivo o directorio.
¿Qué es sudo?
Es una herramienta que permite ejecutar comandos administrativos de forma controlada sin iniciar sesión directamente como root.
¿Cuándo usar ACL?
Cuando los permisos clásicos de propietario, grupo y otros no alcanzan para un caso específico, como dar acceso a un usuario concreto sin cambiar el grupo principal.
Recomendamos
En resumen
Administrar usuarios y permisos en Linux consiste en aplicar el principio de mínimo privilegio: cada usuario debe tener solo el acceso necesario para cumplir su función.
Para lograrlo debes dominar comandos como adduser, useradd, passwd, usermod, groupadd, chmod, chown, chgrp, groups y sudo. Estos comandos forman la base de la administración segura en servidores Linux.
Conclusión editorial
Linux no protege un servidor por magia. Lo protege mediante usuarios bien definidos, grupos organizados, permisos correctos y administración responsable. Quien domina usuarios y permisos domina una de las bases más importantes de la seguridad en Linux.

