Aquí hay un desglose de las diferencias clave:
`su`
* Propósito: Le permite convertirse en otro usuario (típicamente raíz).
* Autenticación: Requiere la contraseña del usuario de destino .
* Uso:
* `su [nombre de usuario]` - cambia al usuario especificado (el valor predeterminado es root si no se da ningún nombre de usuario).
* `SU - [Nombre de usuario]` - cambia al usuario especificado y hereda sus variables de entorno y Shell .
* Permisos: Generalmente requiere privilegios de raíz Para cambiar a un usuario no raíz, o viceversa.
`sudo`
* Propósito: Le permite ejecutar un solo comando como otro usuario (generalmente raíz).
* Autenticación: Requiere su propia contraseña , no el usuario objetivo.
* Uso: `sudo [comando]` - Ejecuta el comando especificado con los privilegios del usuario especificado en el archivo `/etc/sudoers`.
* Permisos: Requiere que se enumere en el archivo `/etc/sudoers 'con permisos específicos para el comando que desea ejecutar.
Diferencias clave
* Alcance: `su` proporciona una sesión de shell completa como otro usuario; `sudo` ejecuta un solo comando.
* Autenticación: `su` requiere la contraseña del usuario objetivo; `sudo` requiere su propia contraseña.
* Permisos: `su` generalmente necesita privilegios de raíz; `sudo` se basa en permisos definidos en`/etc/sudoers`.
En resumen:
* Use `su` cuando necesite trabajar como otro usuario por un período prolongado.
* Use `sudo` cuando necesite ejecutar un comando específico con privilegios elevados.
Recuerde que el uso de privilegios de raíz conlleva riesgos de seguridad significativos. Siempre use estos comandos de manera responsable y con precaución.