¿Cuál es la diferencia entre 'sudo' y 'su -c'?

10

¿Hay alguna diferencia entre usar sudoy usar su -c? ¿Hay situaciones en las que se debe usar una pero no la otra?

Anteriormente estaba usando Ubuntu, donde sudoparece ser omnipresente, pero ahora estoy probando Fedora 15 y el modismo su -caparece con frecuencia cuando intento aprender a hacer algunas cosas, aunque todavía veo que sudose usa de vez en cuando.

Vitor Py
fuente

Respuestas:

14

La diferencia entre sudoy sues cómo realizan la autenticación:

  • su solicita la contraseña del usuario objetivo.
  • sudocomprueba si el usuario de origen está autorizado para ejecutar el comando (la autorización se especifica en /etc/sudoers). Dependiendo de la configuración, puede solicitar la contraseña del usuario de origen, tanto para mitigar el riesgo de una consola desatendida como para alertar al usuario de que está ocurriendo la escalada de privilegios.

Una vez autorizado, el efecto es el mismo: ejecuta un comando como root (o, si se especifica en la línea de comandos, como algún otro usuario).

Existen otras diferencias menores: no toman las mismas opciones y no configuran el entorno para el comando que ejecutan exactamente de la misma manera. Pero para uso común, son lo mismo.

Gilles 'SO- deja de ser malvado'
fuente