【综合教程】利用sudo命令无法读取环境变量的解决办法发布时间:2019-09-03文章来源:网络
    琪琪词资源网-利用sudo命令无法读取环境变量的解决办法综合教程,以下是给大家带来的利用sudo命令无法读取环境变量的解决办法,大家可以了解一下哦!
    Sudo是Unix/Linux平台上的一个很有用的工具,它是一个允许系统管理员允许普通用户执行部分或全部root命令的工具,例如halt,reboot,Su等。我今天想和朋友分享的是使用sudo命令不读取解决环境变量。

    通过sudo -l来查看sudo的限制:

    $ sudo -l

    Matching Defaults entries for xxx on this host:

    env_reset, mail_badpass,

    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

    User xxx may run the following commands on this host:

    (ALL : ALL) NOPASSWD: ALL

    请注意,选项Defaults env_reset的第一行表示默认情况下将重置环境变量,因此您定义的变量在sudo环境中将不可用。

    此外,某些发行版还具有Defaults env_keep =“”选项,该选项用于防止某些环境变量被重置。需要保留的变量用双引号括起来。

    解决办法:

    1、在用户的主目录里的.bashrc中添加:

    alias sudo='sudo env PATH=$PATH'

    2、sudo visudo

    # Defaults env_reset   # 注释掉原有配置

    # Defaults env_keep=”…”  # 注释掉指定的变量保持

    Defaults !env_reset  # 修改为不重置环境
    利用sudo命令无法读取环境变量的解决办法综合教程-琪琪词资源网
版权声明:以上文章中所选用的图片及文字内容来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:bug1234567@qq.com,我们立即下架或删除。

综合教程