GNU/Linux >> Znalost Linux >  >> Linux

Jak zachovat proměnné prostředí při použití sudo

Nejprve musíte export HTTP_PROXY . Za druhé, musíte si přečíst man sudo a podívejte se na -E vlajka. Toto funguje:

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

Zde je citace z manuálové stránky:

-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.

Trik je přidat proměnné prostředí do sudoers soubor přes sudo visudo a přidejte tyto řádky:

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

převzato z ArchLinux wiki.

Pro Ubuntu 14 musíte zadat v samostatných řádcích, protože vrací chyby pro řádky s více proměnnými:

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

Linux
  1. Jak nastavit/vytvořit proměnné prostředí a prostředí v Linuxu

  2. Proměnné uživatelského prostředí S „su“ a „sudo“ v Linuxu

  3. příkaz nebyl nalezen při použití sudo

  1. Používání proměnných prostředí v souborech Tmux.conf?

  2. Jak číst proměnné prostředí procesu

  3. Jak vytisknout zjevně skryté proměnné prostředí?

  1. Jak nastavit, vypsat a odebrat proměnné prostředí v Linuxu

  2. Jak dáte su aktuální proměnné uživatelského prostředí

  3. Použití proměnných prostředí v příkazu cURL - Unix