GNU/Linux >> Tutoriales Linux >  >> Linux

sudo vs gksudo. ¿diferencia?

gksudo es una interfaz basada en GTK de sudo (Por cierto, kdesudo es una interfaz basada en Qt), sin embargo (por defecto) maneja más variables ambientales (HOME , XAUTHORITY , etc.) que sudo lo que hace que ejecutar comandos como root sea más seguro.

Por lo que puedo ver, solo la respuesta de @Logics es lo suficientemente correcta (@Ignacio Vazquez-Abrams no está completa). Aquí está la aclaración para tratar de evitar la respuesta/comentarios de @Davros @knitti (por favor, elimínelos/edítelos cuando no sea necesario):

  1. Aunque ambos comandos representan sudo , la interfaz de usuario utilizada NO es la única diferencia entre los dos comandos.
  2. Ejecutar el programa GUI NO es la única situación en la que debe usar gk/kdesudo, en su lugar, debe usar gk/kdesudo siempre que no pueda determinar si el comando creará/escribirá archivos en su directorio de inicio (que el HOME la variable de entorno apunta a en el sudo comando en algunos sistemas y situaciones). No todas las aplicaciones GUI escriben en su directorio de inicio y no todas las aplicaciones CLI , por lo que el tipo de comando no es el punto clave.
  3. todavía puedes usa sudo comando para iniciar aplicaciones GUI como raíz (para ver la salida de la consola de aplicaciones como ejemplo), sin embargo, debe manejar HOME (y otros como XAUTHORITY , DISPLAY , cosas relacionadas con el método de entrada, etc.) variables ambientales correctamente para que la aplicación lanzada no falle, pierda funcionalidad o haga cosas realmente malas. La siguiente es mi recomendación actual para usar sudo
    • sudo -H <rest of the command>
      • (de sudo sección 8 página del manual) El -H ( HOME ) opción solicita que la política de seguridad establezca el HOME variable de entorno al directorio de inicio del usuario de destino (raíz de forma predeterminada) según lo especificado por la base de datos de contraseñas. Según la política, este puede ser el comportamiento predeterminado.
      • Esto debería al menos evitar que se creen archivos en sudo directorio de inicio de la persona que llama
    • sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
      • Esto debería permitir que se ejecute en un terminal TTY y se muestre en su entorno de escritorio
  4. El comportamiento del sudo el comando no es idéntico en todos los sistemas y se puede configurar a través de visudo comando, consulte sudoers(5) página de manual para obtener más información.

sudo pide la contraseña en la línea de comando y gksudo aparece un cuadro de diálogo para ello.


El uso regular de sudo para ejecutar programas gráficos en raras ocasiones estropeará los permisos en algunos archivos. Para estar seguro, gksudo (o kdesudo según corresponda) debe usarse para ejecutar programas con una GUI. Creo que esto es realmente un error, aunque escuché explicaciones de que gksudo entiende las variables del servidor X y que Sudo posiblemente no genere problemas. Solo como propina; si está ejecutando programas gráficos como root, en lugar de abrir una terminal para cada programa que desee ejecutar, escriba ALT-F2 (alt y la tecla de función 2 al mismo tiempo), luego escriba en el cuadro de diálogo que aparece "gksudo program" sin las comillas y el programa reemplazado por la aplicación que desea ejecutar.


Linux
  1. Df vs. Du:¿Por qué tanta diferencia?

  2. ¿Diferencia entre el usuario de Sudo y el usuario raíz?

  3. ¿La diferencia entre Sudo y Gksu es la misma que entre Sudo -i y Sudo -s?

  4. ¿Mover archivo al directorio de inicio de otro usuario (sin Sudo)?

  5. diferencia de linux entre sudo crontab -e y simplemente crontab -e

La diferencia entre sudo y su explicada

Comando Sudo en Linux

Comprender la diferencia entre los comandos sudo y su en Linux

Cómo migrar el directorio HOME en Linux

Diferencia entre su y sudo y Cómo configurar sudo en Linux VPS.

su - usuario Vs sudo su - usuario