ubuntu18.04在sudo下使用代理
最近需要利用sh脚本下载一些文件,但是此脚本需要在sudo下运行,然而sudo下代理不起作用,网上找了很多办法无解,甚至踩了sudo的坑。最后自己摸索出了解决办法。
首先,根据网上的一些说法
sudo在切换成root用户的时候,env并不会去保留这些环境变量,需要特别的指明才可以
之后网上的教程便给出了修改环境变量的具体值
但是在踩坑之后为才发现,根据代理的不同,需要的环境变量也不同。那如何找到统一的变量值呢?通过观察发现,这些变量值都有统一的proxy后缀,所以我们找出当前环境变量中包含proxy字符串的值就可以了
Ubuntu-N8xxEP6:~$ env | grep proxy
最后发现指向代理端口的变量值其实是all_proxy(其他人的可能不一样,视自己情况而定),之后便在etc/sudoers中修改
Ubuntu-N8xxEP6:~$ sudo vi /etc/sudoers
在Defaults env_reset下添加一行
Defaults env_keep += "