Cómo crear usuarios seguros en Linux para administrar un servidor

Cómo crear usuarios seguros en Linux para administrar un servidor

Crear usuarios en Linux no es solo dar de alta nombres y contraseñas. En un servidor real, la gestión de usuarios afecta directamente a la seguridad, la trazabilidad, los permisos, el mantenimiento y el riesgo de cometer errores graves.

En una microempresa, un VPS con WordPress, una web corporativa o una plataforma de formación online, conviene evitar dos extremos: trabajar siempre como root o crear usuarios sin criterio. Lo correcto es separar responsabilidades, limitar privilegios y documentar quién puede acceder al servidor y para qué.

Este artículo explica cómo plantear usuarios seguros en Linux desde una visión práctica: administración por SSH, uso de sudo, cuentas personales, usuarios de servicio, permisos y errores frecuentes que pueden comprometer un servidor.

Índice

Por qué importa crear usuarios seguros en Linux

Los usuarios son una de las primeras barreras de seguridad de un servidor Linux. Cada cuenta define quién puede entrar, qué puede modificar y hasta dónde puede llegar dentro del sistema.

En un servidor sencillo puede parecer cómodo usar una sola cuenta para todo, pero esa comodidad se vuelve peligrosa cuando el proyecto crece, cuando intervienen varias personas o cuando hay que investigar un error.

Una buena gestión de usuarios permite:

  • Evitar el uso permanente de root.
  • Separar personas, servicios y tareas.
  • Reducir daños si una cuenta queda comprometida.
  • Mejorar la trazabilidad de acciones.
  • Controlar quién puede usar sudo.
  • Eliminar accesos antiguos cuando ya no son necesarios.

Este tema forma parte de la seguridad mínima del servidor. Si estás preparando un VPS o una máquina para producción, conviene trabajarlo junto con cómo proteger un servidor Linux básico y cómo instalar Ubuntu Server paso a paso.

Por qué no conviene trabajar siempre como root

Root es el usuario con máximo poder en Linux. Puede modificar cualquier archivo, instalar paquetes, borrar directorios críticos, cambiar permisos, reiniciar servicios y alterar toda la máquina.

Ese poder es necesario para tareas administrativas, pero usarlo de forma continua aumenta el riesgo. Un comando mal escrito como root puede tener consecuencias mucho más graves que ejecutado como usuario normal.

Ejemplos de riesgos:

  • Borrar archivos del sistema por error.
  • Cambiar permisos de forma masiva e incorrecta.
  • Modificar configuraciones críticas sin control.
  • Ejecutar scripts peligrosos con privilegios completos.
  • No poder distinguir qué persona realizó una acción si todos usan la misma cuenta.

La práctica habitual es acceder con un usuario administrador normal y elevar permisos con sudo cuando sea necesario. Así se trabaja con más control y se reduce la probabilidad de errores destructivos.

Crear un usuario administrador con sudo

En Ubuntu Server, durante la instalación se crea normalmente un usuario inicial con capacidad de usar sudo. Si necesitas crear otro usuario administrador, el proceso debe hacerse con cuidado.

Un ejemplo básico sería:

sudo adduser nombreusuario
sudo usermod -aG sudo nombreusuario

El primer comando crea el usuario. El segundo lo añade al grupo sudo, permitiéndole ejecutar tareas administrativas.

Buenas prácticas al crear usuarios administradores:

  • Usar nombres identificables, no genéricos.
  • No compartir cuentas entre varias personas.
  • Asignar sudo solo a quien realmente lo necesite.
  • Probar el acceso antes de cerrar la sesión actual.
  • Documentar quién tiene permisos administrativos.

Antes de retirar acceso a una cuenta antigua, conviene comprobar que el nuevo usuario puede entrar por SSH y usar sudo correctamente. Quedarse fuera de un servidor remoto por borrar o bloquear la cuenta equivocada es un error bastante serio.

Contraseñas seguras y acceso por claves SSH

Una cuenta de usuario solo es tan fuerte como su método de acceso. Si se usa una contraseña débil, reutilizada o compartida, el servidor queda expuesto a ataques de fuerza bruta, filtraciones externas o errores humanos.

Una contraseña segura debería ser larga, única y difícil de adivinar. En servidores, además, suele ser recomendable usar autenticación mediante claves SSH, especialmente para administración remota.

Ventajas de las claves SSH:

  • Reducen el riesgo asociado a contraseñas débiles.
  • Permiten controlar qué equipos pueden acceder.
  • Facilitan revocar accesos eliminando claves autorizadas.
  • Son adecuadas para administración profesional de servidores.

Pero las claves SSH también deben protegerse. No conviene copiarlas sin control, dejarlas en equipos inseguros o compartir una misma clave entre varias personas.

La gestión de acceso SSH debe coordinarse con el resto de medidas de seguridad del servidor, especialmente si está expuesto a Internet y puede recibir ataques automáticos. Este punto enlaza con cómo evitar ataques automáticos a tu servidor.

Cómo usar sudo con criterio

sudo permite ejecutar comandos con privilegios administrativos sin iniciar sesión permanente como root. Es una herramienta muy potente, pero no debe tratarse como un permiso automático para todo el mundo.

Cuando un usuario ejecuta:

sudo comando

está elevando permisos para realizar una acción que afecta al sistema. Esto puede ser necesario para instalar paquetes, editar configuraciones, reiniciar servicios o modificar archivos protegidos.

Buenas prácticas con sudo:

  • Concederlo solo a usuarios que lo necesitan.
  • No usar sudo para tareas que no requieren privilegios.
  • Evitar ejecutar scripts desconocidos con sudo.
  • Revisar periódicamente quién pertenece al grupo sudo.
  • No convertir sudo en una costumbre automática sin leer el comando.

En servidores de microempresa, donde quizá una sola persona administra todo, puede parecer exagerado. Pero incluso trabajando solo, sudo ayuda a mantener disciplina operativa y evita errores por exceso de privilegios.

Usuarios humanos y usuarios de servicio

En Linux no todos los usuarios representan personas. También existen usuarios de servicio, creados para ejecutar procesos concretos con permisos limitados.

Por ejemplo, en servidores web Ubuntu es habitual encontrar usuarios como www-data, utilizados por servicios relacionados con nginx, Apache o PHP. Estos usuarios no están pensados para que una persona inicie sesión y administre el servidor.

La separación entre usuarios humanos y usuarios de servicio es importante porque limita daños. Un proceso web no debería tener permisos administrativos completos. Debe poder hacer lo que necesita, pero no más.

Ejemplos de separación útil:

  • Usuario administrador para tareas del sistema.
  • Usuario de servicio para nginx o Apache.
  • Usuario de base de datos con permisos limitados a una base concreta.
  • Usuario específico para despliegues o automatizaciones, si procede.

Este enfoque evita mezclar todo bajo una misma cuenta. En servidores con WordPress, aplicaciones o automatizaciones, esta separación reduce bastante el riesgo operativo.

Permisos de archivos y directorios

Crear usuarios seguros sirve de poco si después los permisos de archivos y carpetas están mal planteados. Los permisos determinan quién puede leer, escribir o ejecutar cada elemento del sistema.

En Linux, los permisos se aplican a propietario, grupo y otros usuarios. Además, cada archivo o directorio tiene un propietario y un grupo asociados.

En un servidor web, hay que equilibrar:

  • Que el servidor web pueda leer los archivos públicos.
  • Que la aplicación pueda escribir donde realmente lo necesita.
  • Que archivos sensibles no queden expuestos.
  • Que los administradores puedan mantener el sitio sin usar root para todo.

Un error muy habitual es usar permisos 777 para resolver problemas rápidos. Eso permite leer, escribir y ejecutar a cualquiera, y casi nunca debería ser una solución profesional.

En WordPress, por ejemplo, algunas carpetas necesitan escritura para subir medios o generar cachés, pero eso no significa que todo el sitio deba quedar abierto. La seguridad real está en ajustar permisos con criterio, no en desbloquearlo todo.

Si estás usando nginx como servidor web, esta parte conecta directamente con cómo instalar nginx correctamente y con cómo proteger WordPress desde nginx.

Eliminar o desactivar usuarios antiguos

Un servidor puede acumular usuarios con el tiempo: técnicos externos, pruebas, cuentas temporales, antiguos colaboradores o usuarios creados para resolver incidencias concretas.

Si esos accesos no se revisan, se convierten en puertas olvidadas. Una cuenta antigua con contraseña débil o clave SSH no revocada puede ser un riesgo real.

Buenas prácticas:

  • Revisar usuarios existentes periódicamente.
  • Eliminar cuentas que ya no se usan.
  • Bloquear accesos antes de borrar si hay dudas.
  • Retirar permisos sudo cuando ya no sean necesarios.
  • Eliminar claves SSH antiguas.
  • Documentar altas y bajas de acceso.

Antes de borrar un usuario, conviene revisar si tiene procesos, archivos, tareas programadas o configuraciones asociadas. En servidores pequeños esto suele ser sencillo, pero en sistemas con más historia puede requerir cuidado.

La seguridad no está solo en crear bien usuarios nuevos, sino en no dejar vivos accesos que ya no deberían existir.

Usuarios Linux en servidores WordPress

En un servidor WordPress hay dos niveles distintos de usuarios que no conviene mezclar: usuarios Linux y usuarios de WordPress.

Los usuarios Linux administran el servidor, los archivos, permisos, servicios y configuraciones. Los usuarios de WordPress administran el contenido, plugins, temas, entradas y ajustes dentro del panel web.

Un usuario administrador de WordPress no debería tener necesariamente acceso SSH al servidor. Y un usuario Linux no tiene por qué ser administrador del panel de WordPress.

Separar estos niveles ayuda a reducir riesgos:

  • Un editor de contenidos no necesita acceso SSH.
  • Un técnico de servidor no siempre necesita usuario administrador de WordPress.
  • Un proveedor externo debería tener acceso limitado y temporal cuando sea posible.
  • Las credenciales del CMS no deben reutilizarse para Linux.

Esta separación es especialmente importante en proyectos de formación online, donde puede haber administradores, autores, alumnos, comerciales o perfiles de soporte. Cada nivel debe tener solo los permisos necesarios.

Si estás preparando una instalación desde cero, puedes continuar con cómo instalar WordPress manualmente.

Errores frecuentes al gestionar usuarios Linux

El primer error es usar una única cuenta para todo. Puede parecer cómodo, pero impide saber quién hizo qué, complica la retirada de accesos y aumenta el impacto de cualquier problema.

Otro error habitual es dar permisos sudo a usuarios que no los necesitan. Sudo debe ser una herramienta de administración, no un privilegio por defecto.

Errores típicos:

  • Usar root como cuenta diaria.
  • Compartir usuario entre varias personas.
  • Reutilizar contraseñas.
  • No retirar usuarios antiguos.
  • Dejar claves SSH olvidadas.
  • Aplicar permisos 777 para resolver problemas.
  • No distinguir usuarios humanos y usuarios de servicio.
  • No probar el nuevo acceso antes de cerrar la sesión anterior.
  • No documentar quién tiene permisos administrativos.

La gestión de usuarios parece una tarea básica, pero muchas incidencias graves nacen precisamente de una mala administración de accesos.

Conclusión

Crear usuarios seguros en Linux es una parte esencial de administrar un servidor con criterio. No se trata solo de añadir cuentas, sino de separar responsabilidades, limitar privilegios, proteger SSH, usar sudo correctamente y retirar accesos que ya no hacen falta.

Para una microempresa, un VPS con WordPress o una plataforma online, esta disciplina evita problemas futuros. Un servidor puede ser pequeño y aun así necesitar una gestión de accesos seria.

La seguridad de un servidor empieza muchas veces por una pregunta sencilla: quién puede entrar y qué puede hacer una vez dentro.

Si esa respuesta está clara, documentada y limitada a lo necesario, el servidor será más fácil de mantener, proteger y recuperar cuando aparezcan incidencias.

Preguntas frecuentes

¿Debo usar root para administrar un servidor Linux?

Lo recomendable es no trabajar siempre como root. Es mejor usar un usuario administrador normal y elevar permisos con sudo cuando sea necesario. Así se reduce el riesgo de errores graves y se mantiene un uso más controlado del sistema.

¿Qué es sudo en Linux?

Sudo permite ejecutar comandos con privilegios administrativos sin iniciar sesión directamente como root. Es útil para instalar paquetes, editar configuraciones o reiniciar servicios, pero debe concederse solo a usuarios que realmente necesiten administrar el sistema.

¿Es mejor usar contraseña o clave SSH?

Para servidores expuestos a Internet, la autenticación por clave SSH suele ser más recomendable que una contraseña simple. Aun así, las claves deben protegerse, no compartirse sin control y revocarse cuando una persona ya no necesite acceso.

¿Qué diferencia hay entre un usuario Linux y un usuario de WordPress?

Un usuario Linux permite acceder al sistema operativo, archivos, servicios y configuraciones del servidor. Un usuario de WordPress solo existe dentro del panel del CMS y sirve para gestionar contenidos, plugins, temas o ajustes según su rol. Son niveles distintos y no deberían mezclarse.

¿Es peligroso usar permisos 777?

Sí, normalmente es una mala práctica. Los permisos 777 permiten leer, escribir y ejecutar a cualquier usuario, lo que puede abrir riesgos importantes. Si una web necesita escribir en una carpeta concreta, conviene ajustar solo esa zona y no abrir todo el proyecto.

¿Debo crear un usuario distinto para cada administrador?

Sí, es lo más recomendable. Cada persona debería tener su propia cuenta. Así se pueden retirar accesos sin afectar a otros usuarios, controlar responsabilidades y evitar cuentas compartidas difíciles de auditar.

¿Qué hago con usuarios antiguos que ya no se usan?

Conviene revisarlos, retirar permisos sudo, eliminar claves SSH y desactivar o borrar cuentas que ya no sean necesarias. Antes de borrar, revisa si tienen archivos, tareas programadas o procesos asociados para evitar romper algo accidentalmente.