sudo如何保持当前用户的环境变量?
Posted 沧海一粟,何以久远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sudo如何保持当前用户的环境变量?相关的知识,希望对你有一定的参考价值。
现象,我在/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。如果需要这样,只需在~/.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
以上是关于sudo如何保持当前用户的环境变量?的主要内容,如果未能解决你的问题,请参考以下文章