¿Cómo cambiar de usuario en Linux?
En Linux, la frase “cambiar usuario” puede describir varias acciones diferentes—algunas temporales y basadas en sesiones, otras permanentes y a nivel del sistema. Debido a que Linux es un sistema operativo multiusuario por diseño, proporciona múltiples formas de cambiar identidades y permisos dependiendo de lo que estés tratando de lograr: administrar un servidor, ejecutar una aplicación con derechos limitados, solucionar problemas de acceso a archivos o reestructurar cuentas de usuario.
Cambiar “usuario” en Linux puede significar algunas cosas diferentes dependiendo del contexto:
- Cambiar a otra cuenta en la shell (por ejemplo, de john a root)
Esto se utiliza cuando necesitas una sesión de terminal interactiva como otro usuario—frecuentemente para administración del sistema o para probar cómo se comporta algo bajo un entorno de cuenta diferente. - Ejecutar un solo comando como otro usuario
Ideal cuando solo necesitas privilegios elevados o una identidad diferente para una tarea (como reiniciar un servicio o ejecutar un comando de base de datos) sin cambiar completamente tu sesión.
- Cambiar a otra cuenta en la shell (por ejemplo, de john a root)
- Cambiar el usuario de inicio de sesión predeterminado para un servicio/proceso
Los servicios (servidores web, bases de datos, aplicaciones) generalmente deben ejecutarse bajo usuarios dedicados y no root por razones de seguridad. Cambiar el usuario del servicio afecta cómo se ejecuta el proceso y a qué puede acceder. - Cambiar quién posee archivos y directorios
La propiedad de archivos controla el acceso. Si los permisos son incorrectos—común después de migraciones, restauraciones o implementaciones—tú “cambias usuario” reasignando la propiedad para que la cuenta correcta pueda leer/escribir archivos. - Cambiar atributos de identidad del usuario (nombre de usuario, UID, grupos)
Esto es gestión de cuentas: renombrar un usuario, cambiar su UID o ajustar la membresía en grupos (como otorgar acceso sudo). Estos cambios pueden afectar inicios de sesión, permisos y acceso a servicios.
Esta guía cubre todos estos escenarios, mostrando cuándo usar cada enfoque, cómo hacerlo de manera segura y qué errores evitar—para que puedas cambiar usuarios con confianza sin romper permisos, servicios o accesos.
Cambiar a otro usuario (shell interactiva)
su (cambiar usuario)
– (o -l) carga el entorno completo de inicio de sesión del usuario objetivo: directorio personal, PATH, perfil de shell.
Sin -, mantienes gran parte de tu entorno actual (puede ser confuso).
Cambiar a root:
Nota de seguridad: En muchas distribuciones, su requiere la contraseña del usuario objetivo (por ejemplo, la contraseña de root), que a menudo está deshabilitada.
sudo -i (preferido para shells de root/admin)
Te da un shell de inicio de sesión de root (similar a su -), usando tus derechos de sudo en lugar de la contraseña de root.
Cambiar a otro usuario con un shell de inicio de sesión:
Ejecutar un solo comando como otro usuario (no interactivo)
sudo -u
Ejecutar con un entorno limpio similar al de inicio de sesión:
Ejecutar un comando como root
Cambiar el “usuario efectivo” de un proceso en ejecución (realidad avanzada)
Linux no te permite “cambiar el usuario” de un proceso que ya se está ejecutando en su lugar en la mayoría de los escenarios prácticos. En su lugar, típicamente:
reinicias el proceso bajo el usuario correcto
o usas administradores de servicios (systemd) para definir el usuario
Para inspeccionar qué usuario ejecuta un proceso:
O:
Cambiar qué usuario ejecuta un servicio (systemd)
La mayoría de las distribuciones de Linux en producción utilizan systemd. Los servicios deben ejecutarse como usuarios dedicados y no privilegiados.
Verificar la configuración del servicio:
Buscar:
User=Group=
Ejemplo de anulación (método seguro):
Agregar:
Aplicar:
Verificar:
Cambiar la propiedad de archivos (cambiando “usuario” para archivos)
chown (cambio de propietario)
Cambiar propietario:
Cambiar propietario y grupo:
Recursivo (ten cuidado):
Preservar enlaces simbólicos (evitar cambiar los destinos de enlace):
Consejo avanzado: Para árboles grandes, previsualiza primero:
Cambiar tu identidad actual de shell vs. cambiar la cuenta misma
Confirmar quién eres
Confirmar quién ha iniciado sesión
Ver qué usuario ejecutó la shell actual a través de sudo
Cambiar nombre de usuario, UID, grupos (modificación de cuenta)
Renombrar un usuario (nombre de usuario)
También mover/renombrar el directorio personal:
Actualizar el nombre del grupo también (opcional):
Cambiar UID (avanzado; afecta la propiedad de archivos)
Después de cambiar el UID, arreglar la propiedad de archivos:
Agregar usuario a un grupo (por ejemplo, sudo)
Verificar:
“Hoja de trucos” rápida
Cambiar usuario:
Ejecutar comando como otro usuario:
Ejecutar shell de root:
Cambiar propietario de archivo:
Cambiar detalles de la cuenta:
