GNU/Linux >> Linux Esercitazione >  >> Linux

Come mantenere le variabili di ambiente quando si utilizza sudo

Per prima cosa devi export HTTP_PROXY . Secondo, devi leggere man sudo e guarda -E bandiera. Funziona:

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

Ecco la citazione dalla pagina man:

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

Il trucco è aggiungere variabili d'ambiente a sudoers file tramite sudo visudo comando e aggiungi queste righe:

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

tratto dal wiki di ArchLinux.

Per Ubuntu 14, è necessario specificare in righe separate in quanto restituisce gli errori per le righe multivariabili:

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

Linux
  1. Come impostare/creare variabili di ambiente e shell in Linux

  2. Utilizzo delle variabili di ambiente nei file Tmux.conf?

  3. comando non trovato quando si utilizza sudo

  4. Come stampare variabili d'ambiente apparentemente nascoste?

  5. come passare la variabile d'ambiente a sudo su

Come impostare le variabili d'ambiente in MacOS

Come mantenere la sessione di timeout della password "sudo" più a lungo in Linux

Come impostare ed elencare le variabili di ambiente in Linux

Come impostare ed elencare variabili ambientali in Linux

Come bloccare una porta utilizzando un firewall in Linux

Come impostare e annullare l'impostazione delle variabili di ambiente su Linux