现象,我在/etc/profile里设置全局代理,然后使用命令

1、curl http://www.baidu.com  走代理

2、sudo curl http://www.baidu.com 并没有走代理

使用env和sudo env查看环境变量,发现代理设置只存在于env里,sudo env里并没有代理的信息

那么如何使用sudo的时候,把环境变量也带进去呢?

方法一、

/etc/sudoers中添加以下内容作用相同:

Defaults !env_reset

方法二、

可以把需要传递环境变量的命令设置到env_keep

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

 

可以看到sudo pip和pip环境变量是不同的

sudo如何保持当前用户的环境变量?

 

传递命令别名

当前用户的命令别名不会应用到sudo。如果需要这样,只需在~/.bashrc或者/etc/bash.bashrc中加入:

alias sudo='sudo '

参考:

1、https://www.ibm.com/developerworks/cn/aix/library/au-sudo/

2、https://wiki.archlinux.org/index.php/Sudo_%28简体中文%29

3、http://blog.csdn.net/dabao1989/article/details/51955559

相关文章:

  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
猜你喜欢
  • 2021-12-29
  • 2021-12-09
  • 2022-02-03
  • 2022-12-23
  • 2022-12-23
  • 2021-06-21
  • 2022-01-30
相关资源
相似解决方案