GNU/Linux >> Tutoriels Linux >  >> Linux

Comment conserver les variables d'environnement lors de l'utilisation de sudo

Vous devez d'abord export HTTP_PROXY . Deuxièmement, vous devez lire man sudo , et regardez le -E drapeau. Cela fonctionne :

$ export HTTP_PROXY=foof
$ sudo -E bash -c 'echo $HTTP_PROXY'

Voici la citation de la page de manuel :

-E, --preserve-env
             Indicates to the security policy that the user wishes to preserve their
             existing environment variables.  The security policy may return an error
             if the user does not have permission to preserve the environment.

L'astuce consiste à ajouter des variables d'environnement à sudoers fichier via sudo visudo command et ajoutez ces lignes :

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

extrait du wiki ArchLinux.

Pour Ubuntu 14, vous devez spécifier dans des lignes séparées car il renvoie les erreurs pour les lignes à plusieurs variables :

Defaults  env_keep += "http_proxy"
Defaults  env_keep += "https_proxy"
Defaults  env_keep += "HTTP_PROXY"
Defaults  env_keep += "HTTPS_PROXY"

Linux
  1. Utilisation de variables d'environnement dans les fichiers Tmux.conf ?

  2. Comment définir, répertorier et supprimer des variables d'environnement sous Linux

  3. Variables d'environnement utilisateur avec "su" et "sudo" sous Linux

  4. commande introuvable lors de l'utilisation de sudo

  5. Comment lire les variables d'environnement d'un processus

Comment définir des variables d'environnement dans MacOS

Comment conserver plus longtemps la session d'expiration du mot de passe "sudo" sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment bloquer un port à l'aide d'un pare-feu sous Linux

Comment définir et supprimer des variables d'environnement sous Linux