GNU/Linux >> Tutoriels Linux >  >> Linux

sudo contre gksudo. différence?

gksudo est une interface basée sur GTK de sudo (Au fait, kdesudo est une interface basée sur Qt), mais il gère (par défaut) plus de variables d'environnement (HOME , XAUTHORITY , etc.) que sudo rendant ainsi les commandes en cours d'exécution en tant que root plus sûres.

Autant que je sache, seule la réponse de @Logics est suffisamment correcte (celle de @Ignacio Vazquez-Abrams n'est pas complète). Voici la clarification à éviter pour @Davros @knitti réponse/commentaires (veuillez les supprimer/modifier quand ce n'est pas nécessaire) :

  1. Bien que les deux commandes représentent bien sudo , l'interface utilisateur utilisée n'est PAS la seule différence entre les deux commandes.
  2. L'exécution d'un programme GUI n'est PAS la seule situation dans laquelle vous devez utiliser gk/kdesudo, vous devez plutôt utiliser gk/kdesudo chaque fois que vous ne pouvez pas déterminer si la commande créera/écrira des fichiers dans votre répertoire personnel (ce que le HOME la variable d'environnement pointe vers dans le sudo commande dans certains systèmes et situations). Toutes les applications GUI n'écrivent pas dans votre répertoire personnel et toutes les applications CLI ne le font pas , donc le type de commande n'est pas le point clé.
  3. Vous pouvez toujours utilisez sudo commande pour lancer les applications GUI en tant que root (pour afficher la sortie de la console des applications à titre d'exemple), mais vous devez gérer HOME (et d'autres comme XAUTHORITY , DISPLAY , input-method-related-stuff, etc.) correctement les variables d'environnement afin que l'application lancée n'échoue pas, ne perde pas de fonctionnalités ou ne fasse pas de très mauvaises choses. Voici ma recommandation actuelle pour l'utilisation de sudo
    • sudo -H <rest of the command>
      • (à partir de sudo section 8 page de manuel) Le -H ( HOME ) l'option demande que la politique de sécurité définisse le HOME variable d'environnement dans le répertoire personnel de l'utilisateur cible (racine par défaut) tel que spécifié par la base de données de mots de passe. Selon la règle, il peut s'agir du comportement par défaut.
      • Cela devrait au moins empêcher la création de fichiers en sudo répertoire personnel de l'appelant
    • sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
      • Cela devrait permettre au d'être exécuté dans un terminal TTY et affiché dans votre environnement de bureau
  4. Le comportement du sudo la commande n'est pas identique sur tous les systèmes et peut être configuré via visudo commande, veuillez vérifier sudoers(5) page de manuel pour plus d'informations.

sudo demande le mot de passe sur la ligne de commande, et gksudo affiche une boîte de dialogue pour cela.


L'utilisation régulière de sudo pour exécuter des programmes graphiques perturbera en de rares occasions les autorisations sur certains fichiers. Pour être sûr, gksudo (ou kdesudo selon le cas) doit être utilisé pour exécuter des programmes avec une interface graphique. Je pense que c'est vraiment un bogue, même si j'ai entendu des explications selon lesquelles gksudo comprend les variables du serveur X et sudo ne peut pas entraîner de problèmes. Juste comme un pourboire; si vous exécutez des programmes graphiques en tant que root, au lieu d'ouvrir un terminal pour chaque programme que vous souhaitez exécuter, tapez ALT-F2 (alt et touche de fonction 2 en même temps), puis tapez dans la boîte de dialogue qui apparaît "gksudo programme" sans les guillemets et le programme remplacé par l'application que vous souhaitez exécuter.


Linux
  1. Df Vs. Du:Pourquoi tant de différence ??

  2. Quelle est la différence entre Sudo Su - et Sudo Su - ?

  3. différence Linux entre sudo crontab -e et juste crontab -e

  4. Installer Qt sur Ubuntu

  5. su - utilisateur Vs sudo su - utilisateur

La différence entre sudo et su expliquée

Commande Sudo sous Linux

Comprendre la différence entre les commandes sudo et su sous Linux

La Différence Entre Update-grub Et Update-grub2 ?

Comment migrer le répertoire HOME sous Linux

Différence entre su et sudo et Comment configurer sudo dans Linux VPS.