一尘不染

使用sudo时如何保留环境变量

linux

当我对sudo使用任何命令时,环境变量不存在。例如,设置HTTP_PROXY后,wget如果不使用,该命令可以正常工作sudo。但是,如果我键入sudo wget它说它不能绕过代理设置。


阅读 447

收藏
2020-06-02

共1个答案

一尘不染

技巧是sudoers通过sudo visudo命令将环境变量添加到文件并添加以下行:

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

摘自ArchLinux
Wiki

对于Ubuntu 14,您需要在单独的行中指定,因为它会返回多变量行的错误:

Defaults  env_keep += "http_proxy"
Defaults  env_keep += "https_proxy"
Defaults  env_keep += "HTTP_PROXY"
Defaults  env_keep += "HTTPS_PROXY"
2020-06-02