zoukankan      html  css  js  c++  java
  • 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 pip和pip环境变量是不同的

    传递命令别名

    当前用户的命令别名不会应用到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

  • 相关阅读:
    2-7
    2-6
    2-5
    2-4
    2-3
    2-1
    2-2
    1-1
    5-7
    第六章例6-1
  • 原文地址:https://www.cnblogs.com/shengulong/p/7593614.html
Copyright © 2011-2022 走看看