GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana menjaga variabel lingkungan saat menggunakan sudo

Pertama, Anda perlu export HTTP_PROXY . Kedua, Anda perlu membaca man sudo , dan lihat -E bendera. Ini berfungsi:

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

Berikut kutipan dari halaman manual:

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

Caranya adalah dengan menambahkan variabel lingkungan ke sudoers file melalui sudo visudo perintah dan tambahkan baris ini:

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

diambil dari wiki ArchLinux.

Untuk Ubuntu 14, Anda perlu menentukan di baris terpisah karena mengembalikan kesalahan untuk baris multi-variabel:

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

Linux
  1. Cara Mengatur/Membuat Variabel Lingkungan dan Shell di Linux

  2. Menggunakan Variabel Lingkungan Dalam File Tmux.conf?

  3. Bagaimana Anda memberi su variabel lingkungan pengguna saat ini

  1. Cara Mengatur, Mendaftar, dan Menghapus Variabel Lingkungan di Linux

  2. Variabel Lingkungan Pengguna Dengan "su" dan "sudo" di Linux

  3. Menggunakan Variabel Lingkungan di Perintah cURL - Unix

  1. Betapa tidak disetelnya banyak variabel lingkungan

  2. perintah tidak ditemukan saat menggunakan sudo

  3. Cara membaca variabel lingkungan dari suatu proses