解决sudo找不到环境变量的问题

2023-11-10

原因

  • sudo命令会重置环境变量,查看文件/etc/sudoers,可以看到这样的配置
Defaults      env_reset

解决方法

  • 第一种,也是最简单的,使用sudo -E来代替sudo即可保留当前用户的环境变量,但缺点也很明显,每次都要加

  • 第二种方式:修改/etc/sudoers文件,将Defaults env_reset改为 Defaults !env_reset,这样以后使用sudo就再也不会重置环境变量了

      	 需要注意的是`/etc/sudoers`是只读文件,vim不能更改,要使用`visudo`命令(不用加文件名)来更改内容
    
  • 不过大部分环境变量我们一般都用不着,这种情况就可以在配置中添加env_keep,来使指定的几个环境变量保持不变

    • 具体的做法是在 /etc/sudoers中添加语句 Defaults env_keep += "env1 env2" ,这样环境变量env1 和env2就可以在sudo执行时保留原来的值
    • 不过既然/etc/sudoers是个只读文件,就不是用来让我们改来改去的;还除了它,我们还可以在目录/etc/sudoers.d/下随便创建文件,写入 Defaults env_keep += "env1 env2",效果和在/etc/sudoers中是一样的,也更加方便删除和修改
  • 有关sudo的更多内容可以查看这里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决sudo找不到环境变量的问题 的相关文章

  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • Flex 的远程版本误解了我的规则

    我使用 flex 和 bison 编写了一个小汇编程序 可以在我的机器 ubuntu 10 10 上构建并运行正常 现在其他人正在尝试在 arch linux 上构建它 并且他们安装的 flex 产生了不同的 lex yy c 这是不匹配的
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 如何从 Linux 命令行确定 LCD 显示器是否打开

    如何通过 Linux 命令行判断计算机的显示器是否打开 关闭 我传统上认为显示器是仅输出的设备 但我注意到 Gnome 显示器首选项对话框具有 检测显示器 功能 这可以推广到确定显示器是否物理关闭吗 VESA DDC 连接是I2C http
  • 如果目录不存在,有没有办法让 mv 创建要移动到的目录?

    因此 如果我在主目录中并且想将 foo c 移动到 bar baz foo c 但这些目录不存在 是否有某种方法可以自动创建这些目录 以便你只需要输入 mv foo c bar baz 一切都会顺利吗 似乎您可以将 mv 别名为一个简单的
  • C# - OPC-UA 服务器应用程序尚未在 Linux 计算机中创建 PKI 证书

    当我跑步时OPC UA serverWindows 机器中的 C 应用程序 然后 OPC UA 服务器已创建证书路径C ProgramData OPC Foundation pki own 并在此路径中生成一些证书 但是当我在中安装 OPC
  • 有没有办法只安装mysql客户端(Linux)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有不需要安装整个mysql db安装包的Linux mysql命令行工具 我想做的是从服务器 1 应用程序服务器 执行将在服务器 2
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空
  • 如何防止 CMake 在构建时(而不是安装时)为共享库创建符号链接?

    我正在使用 CMake 在 Linux 上使用 Bullet3 构建一个项目 在构建整个解决方案时 它会构建附加了 SOVERSION 的 Bullet 输出库 并创建一个不带版本的符号链接 对于我的特定场景 我不喜欢这种行为 并且我不想编
  • _dl_runtime_resolve -- 共享对象何时加载到内存中?

    我们有一个对性能要求很高的消息处理系统 最近我们注意到第一条消息比后续消息花费的时间要长很多倍 当它通过我们的系统时 会发生大量转换和消息增强 其中大部分是通过外部库完成的 我刚刚描述了这个问题 使用 callgrind 将仅一条消息的 运
  • OS X 对 /usr/local/lib 的权限被拒绝

    我正在寻找有关权限问题的任何建议 直觉 线索 答案 自从我切换到新的 Macbook Pro 以来 这个问题一直困扰着我 这就是困境 某些程序在安装期间复制 usr local lib 下的库 并且在运行这些程序时出现崩溃 我认为这与此文件
  • /usr/bin/as:无法识别的选项“-EL”

    因此 在为我的1plus手机编译android内核时 经过3天的多次尝试 我放弃了并尝试在这里询问是否有人以前遇到过这个问题 这个错误对我来说有点模糊 但我觉得问题来自于我最近对 GNU Linux 发行版 Gentoo 的更改 它在不应该
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • 在 shell 脚本中将脚本目录更改为用户的 homedir

    在我的 bash 脚本中 我需要将当前目录更改为用户的主目录 如果我想更改为用户的foo主目录 从命令行我可以执行以下操作 cd foo 效果很好 但是当我从script它告诉我 bar sh line 4 cd foo No such f
  • 警告构建使用导出符号的内核模块

    我有两个内核模块 例如 modA 和 modB modA 导出一个符号EXPORT SYMBOL symA modB 使用它 我有标题modA h对于modA extern void symA int param and in modB c
  • 如何获取文件夹的大小,包括稀疏文件的表观大小? (du太慢了)

    我有一个包含很多KVM qcow2文件的文件夹 它们都是稀疏文件 现在我需要获取文件夹的总大小 qcow2 文件大小应计为表观大小 而不是实际大小 例如 图片 c9f38caf104b4d338cc1bbdd640dca89 qcow2 文
  • 如何从powershell获取主机名?

    我如何获得hostname https stackoverflow com q 42014215 262852 for dur来自 powershell PS home thufir powershell gt PS home thufir
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • 我可以告诉 Linux 不要交换特定进程的内存吗?

    有没有办法告诉 Linux 它不应该将特定进程的内存交换到磁盘 它是一个 Java 应用程序 所以理想情况下我希望有一种方法可以从命令行执行此操作 我知道您可以将全局交换性设置为 0 但这明智吗 您可以通过以下方式执行此操作姆洛克尔 2 h

随机推荐

  • PAT C入门题目-竖着输出字符串(Z:c语言求数组长度 sizeof()&strlen())

    7 2 I Love GPLT 5 分 这道超级简单的题目没有任何输入 你只需要把这句很重要的话 I Love GPLT 竖着输出就可以了 即每个字符占一行 包括空格 即每行只能有1个字符和回车 include
  • sketch基础教程大全,对象、图层、画板常见技巧

    sketch对象 图层 画板的使用技巧 1 通过快捷键调整图形的形状 选择图形 按住Command按键 然后通过上 下 左 右方向键按1像素调整图形形状 同时按住按钮 CommandShift方向键 可调整方向键 2 复制元素 选择一个元素
  • Python爬虫从入门到精通:(24)scrapy框架01_scrapy框架的认识、安装_Python涛哥

    scrapy框架的认识 安装 框架简介 什么是框架 所谓的框架其实就是一个被集成了很多功能且具有很强通用性的一个项目模板 怎么学习 学习的是框架中集成好的各种功能的特性是作用 进阶学习 逐步的探索框架的底层 安装scrapy 是一个专门用于
  • 数据结构和算法(二)

    ArrayList 和LinkedList原理 代码实现 性能区别 1 ArrayList 为什么查询快 数组和集合区别 动态大小 数组的长度是固定的 ArrayList 数组集合 内部使用数组实现的 自定义ArrayList 如下 pub
  • 如何理解受控和非受控件组件?

    受控组件 受控组件是React中的一种组件 其特点是输入框的值 value 由React状态 state 控制 也就是说 React中的状态变化会直接影响输入框的值 受控组件通过form的输入元素 input select等 的value属
  • 孕期做什么副业好?在家兼职挣钱的孕妇不仅能很好地抚养孩子,还能继续她们的职业生涯

    孕期做什么副业好 在家兼职挣钱的孕妇不仅能很好地抚养孩子 还能继续她们的职业生涯 许多孕妇在得知怀孕后会在家休息分娩 一旦你在家休假分娩 你会感到特别无聊 无聊 甚至沮丧 这对胎儿的发育会非常不利 所以在这个时候 那些希望在家分娩的孕妇可以
  • composer改回原来的源

    以前为了图安装快 把composer的源改成了国内的 composer config g repo packagist composer https packagist phpcomposer com 今天使用时发现还要用户名和密码登录 怕
  • CentOS7.3编译安装go1.10.1

    直接使用编译好的包 go1 10 1 linux amd64 tar gz 下载go wget https studygolang com dl golang go1 10 1 linux amd64 tar gz tar xvf go1
  • vscode中如何快速生成vue3模板-非常实用的小技巧

    vscode中如何快速生成vue3模板 在vue项目开发过程中 我们会发现我们每次新建一个vue组件文件的时候 都需要写一些重复的代码 比如下面代码
  • 运算放大器---虚短和虚断

    运算放大器 虚短和虚断 前言 运算放大器两板斧 虚短 虚断 虚短 在分析运算放大器处于线性状态时 可把两输入端视为等电位 这一特性称为虚假短路 简称虚短 当某一端接地的时候 V V 0 虚断 在分析运放处于线性状态时 可以把两输入端视为等效
  • Conda——问题解决:CondaValueError: Malformed version string ‘~’ : invalid character(s)

    报错截图 解决方法 更新conda即可 conda upgrade n base c defaults override channels conda 成功截图
  • 1-7、Lua迭代器与泛型for

    1 7 Lua迭代器与泛型for 理解为主 必选先理解闭包的概念和用法 文章目录 1 7 Lua迭代器与泛型for 理解为主 必选先理解闭包的概念和用法 1 迭代器与闭包 2 范性for的语义 3 无状态的迭代器 4 多状态的迭代器 5 真
  • C++多态

    C 多态 一 多态的概念 二 多态的定义以实现 虚函数 多态构成条件 虚函数的重写 虚函数重写的两个例外 C 11的override和final 重载 重写和重定义的对比 抽象类 概念 接口继承与实现继承 多态的原理 虚函数表 打印虚函数表
  • Android---TabLayout

    目录 TabLayout TabItem 编辑 演示效果的xml TabLayout TabLayout 在开发中一般作为选项卡使用 常与 ViewPager2 和 Fragment 结合起来使用 常用属性 app tabBackgroun
  • android常用面试题,2022年上半年最接地气的Android面经

    没有稳定的工作 只有稳定的能力 又到了万物复苏的季节 在程序猿这个行当里 作为 Android 开发出生的 在经历了八年的脱发生涯后 有了越来越多的想法和感触 趋势 随着各类移动跨平台的兴起 在 ReactNative Flutter We
  • 野火STM32F1开发板 IIC 0.96OLED 波形显示

    硬件连接 软件代码 MAIN C include sys h include delay h include usart h include bsp adc h include bsp advanced timer h include bs
  • 开关量光端机指示灯说明及常见故障问题处理方法

    开关量光端机可以使开关量信号通过光缆在光纤上传输双向控制 全数字光传输通道 确保高质量的信号传输 面板上有电源指示灯 光信号指示灯数据信号指示灯 可以直观的检测电源 光信号 数据信号状态 单向系列开关量光端机是高性能 高可靠性的长距离开关量
  • C#中使用Process组件访问本地进程

    欢迎大家提出意见 一起讨论 转载请标明是引用于 http blog csdn net chenyujing1234 代码 VS2008 http www rayfile com zh cn files 10801d54 991d 11e1
  • SD卡受损最简单的修复方法,太神奇了

    如何修复受损的SD卡 很多的数据存储设备在使用时间过长之后都容易出现损坏等的意外 这样会导致一些数据出现乱码 丢失 损坏等的情况 严重影响到了用户的使用 那么各位是否知道如何修复受损的SD卡呢 丢失的数据又该怎么恢复呢 要修复损坏的SD卡的
  • 解决sudo找不到环境变量的问题

    原因 sudo命令会重置环境变量 查看文件 etc sudoers 可以看到这样的配置 Defaults env reset 解决方法 第一种 也是最简单的 使用sudo E来代替sudo即可保留当前用户的环境变量 但缺点也很明显 每次都要