En Linux, su
y sudo
son dos comandos de uso común para cambiar las identidades de los usuarios y ejecutar comandos privilegiados. Existen las siguientes diferencias entre ellos:
-
su
Orden:su
Es la abreviatura de "Cambiar Usuario", que se utiliza para cambiar a la identidad de otros usuarios.- De forma predeterminada, los comandos sin argumentos
su
cambian alroot
usuario. - Para usar
su
el comando, debe ingresar la contraseña del usuario de destino. - Después del cambio, las variables de entorno, el directorio de trabajo y los permisos heredarán la configuración del usuario de destino.
- Se puede cambiar a otros usuarios agregando parámetros, p
su username
.
-
sudo
Orden:sudo
es un acrónimo de "Superuser Do" y se utiliza para ejecutar comandos privilegiados como superusuario u otro usuario autorizado.sudo
Permite a los usuarios normales obtener privilegios sin conocer la contraseña de superusuario.sudo
Al ejecutar el comando, se requiere la contraseña del usuario actual.sudo
Los comandos permiten a los administradores conceder permisos a usuarios específicos para ejecutar comandos privilegiados en función de un archivo de configuración.sudo
La ejecución de comandos se puede especificar en la línea de comandos, por ejemplosudo command
, .
Diferencia principal:
su
Al cambiar a otros usuarios, debe conocer la contraseña del usuario de destino, ysudo
al ejecutar comandos privilegiados, necesita la contraseña del usuario actual.su
Después de cambiar de usuario, toda la sesión se lleva a cabo bajo el usuario de destino ysudo
los privilegios solo se adquieren cuando se ejecutan comandos privilegiados.sudo
Los comandos pueden realizar un control de permisos más detallado en los usuarios, y los administradores pueden configurar de manera flexible qué comandos y qué usuarios pueden realizar operaciones privilegiadas.
Cabe señalar que sudo
los comandos deben estar correctamente configurados en el sistema para ser utilizados, y solo los usuarios con los permisos necesarios pueden realizar operaciones privilegiadas.