centos7 ifconfig命令找不到_分享一个解决 sudo 命令找不到环境变量的小技巧

公众号关注 「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !

abe8cee295d3c5fd40b557977da32003.png

如何解决 sudo 命令找不到环境变量的问题

在通过 sudo 运行命令时,系统会默认重置环境变量为安全的环境变量,也就是说,先前设置的变量都会失效,只有少数配置文件中指定的环境变量能够保存下来。

sudo 的配置文件是 /etc/sudoers,需要 root 权限才能读取,运行以下命令:

$ sudo sed '/^#/d;/^$/d' /etc/sudoers

sudo 的配置如下图所示:

dae23a85f707574c173f38d3670cb2eb.png

sudo 配置文件

请注意:

  • 第 3 行的 Defaults env_reset 表示默认会重置环境变量,因此自定义的变量会在 sudo 环境中失效,也就不会获取正确的变量值。

  • 第 4 行至第 8 行的 env_keep 配置项,用于保留部分环境变量不被重置,需要保留的变量就写入双引号之中。

  • 第 9 行的 secure_path 配置项,其中包含的路径将被当做 sudo 环境的 PATH 变量使用,如果在 sudo 环境无法找到某些命令,那么可以将这些命令的路径加入该配置项之中。

综上所述,sudo 命令找不到环境变量或命令的问题,有三种解决方法:

  1. sudo -E

加上 -E  选项后,用户可以在 sudo  执行时保留当前用户已存在的环境变量,不会被 sudo 重置。另外,如果用户对于指定的环境变量没有权限,则会报错。

  1. 修改 sudo 配置文件

在内部测试机器中,安全性要求不高,总是需要加上 -E 参数来执行脚本,这个安全设定也不是很方便。因此,可以通过修改 /etc/sudoers 文件的 env_keepsecure_path 配置项,来指定 sudo 环境中需要保留的环境变量和路径。

当然你也可以用更简单粗暴的方式:直接将 Defaults env_reset 改成 Defaults !env_reset 来取消掉对 PATH 变量的重置,然后在 .bashrc 中最后添加 alias sudo='sudo env PATH=$PATH'。这样 sudo 执行命令时所搜寻的路径就是系统的 PATH 变量中的路径,如果你想添加其他变量方法也是类似。

  1. 手动添加变量

手动在脚本中设置所需的变量,在执行 sudo 脚本前先将所需要的变量写入到需要执行的脚本开头。

参考文档

  1. https://www.google.com

  2. http://ghoulich.xninja.org/2017/05/09/how-to-find-env-variables-when-exec-sudo-commands/

  3. http://www.ibm.com/developerworks/cn/aix/library/au-sudo/index.html

bbb33f378d348577a2f66def5da16c24.png

58660e31e55ecad448b8537ccd03b9eb.png

你可能还喜欢

点击下方图片即可阅读

fce9536c32104d0139eb416276972069.png

女朋友通过我画的 12 张图,学会了 Kubernetes,我是不是棒棒哒!

aa75d1ed0ff0610d5b3c5fbaaf9a151a.png

点击上方图片,打开小程序,加入「玩转 Linux」圈子

c935f51f72202ea91e5aaf7fe634f9e3.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

4197ab25405c32b291ca9be12c8e9457.png

centos7】下ifconfig提示command not found centOS7中,使用,liunx提醒ifconfig command notfound。应该是没有安装该包。所以我们要安装ifconfig的包才行。 阅读详情

相关推荐

Aspen Plus下载教程Aspen Plus V14 保姆级安装步骤(附安装包)

26、在WlmAdmin界面中,依次点击【Subnet Servers】、【admin】、【Add Feature】、【From a File】、【To Server and its File】。35、在产品选择页面,勾选需要安装的所有产品(重要:不要勾选【Aspen Online(Plant Data)】),然后点击【File Location】。回到桌面,点击任务栏的【开始菜单】,在【所有应用】中到【Aspen Plus V14】软件图标,将其拖到桌面上创建快捷方式。9、这里可以更改软件的安装位置。

ps_xiaowang的博客 1万+

Linux--环境变量被重置

问题现象:一个A用户调用另外一个B用户下的脚本时,发现执行结果不对,脚本本身没问题,B用户自己执行时输出是正常的,也在/etc/sudoers里面配置了A用户不需要输入密码执行B用户的这个脚本,然后set -x打开脚本调试,发现A用户去执行B用户的脚本时,脚本中使用到的B用户的环境变量都是空的。解决方法:把/etc/sudoers里面Defaults env_reset改为:Defaults

代码的世界 2214

7.工具高级参数—CogPMAlignTool

CogPMAlign工具是用于图像模式匹配的视觉检测工具,主要包含训练参数和运行参数两类设置。训练参数包括弹性参数(处理图像非线性变形,建议不超过8像素)和特征粒度限制(控制边缘点密度)。运行参数涉及对比度阈值(影响特征点识别)、自动边缘阈值、接受阈值(0-1.0分值判定匹配有效性)和XY重叠(过滤重叠结果)等关键设置。该工具通过PatMax/PatQuick算法实现模板匹配,匹配分数0-1.0反映匹配度,受模板形状匹配度、自由度、特征缺失等因素影响。通过合理配置参数,可在执行速度和匹配精度间取得平衡,最高

896

如何执行sudo命令时保留当前用户env变量

在linux环境中我们经常使用sudo命令执行root权限,但默认情况下sudo运行时,会默认重置环境变量为安全的环境变量,也即,但前设置的变量都会失效。可以通过如下设置来取消这种设置: 1、编辑sudoers文件 vim /etc/sudoers 注释掉: #Defaults env_reset #Defaults mail_badpass #Defaults

Haiwi-Song 6177

sudo环境变量被重置为默认

搞定了!在/etc/sudoers中修改: Defaults    env_reset 为: Defaults    !env_reset 这样,任何环境变量都可以通过sudo传进去了。

烽火yes 3950

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

原因 sudo命令会重置环境变量,查看文件/etc/sudoers,可以看到这样的配置 Defaults env_reset 解决方法 最简单的, 使用sudo -E即可保留当前用户的环境变量, 但缺点也很明显,每次都要加 修改/etc/sudoers文件,将Defaults env_reset改为 Defaults !env_reset,这样以后使用sudo就再也不会重置...

一车面包人的博客 1万+

linux无命令行出现,sudo命令解决使用Linux命令行时出现的错误提示

你在使用 Linux 命令行时曾经得到过“拒绝访问(Permission denied)”的错误提示吗?这可能是因为你正在尝试执行一个需要 root 权限的操作。例如,下面的截图展示了当我尝试复制一个二进制文件一个系统目录时产生的错误。 shell 的拒绝访问那么该怎么解决这个错误?很简单,使用 sudo 命令。 用 sudo 运行命令用户运行此命令后会被提示输入他们(自己)的登录密码。一旦输入...

weixin_42514736的博客 1059

解决ifconfig命令不到

解决ifconfig命令不到,最全解决方案

窗台有只猫的博客 3万+

解决 Linux CentOS 7不到 ifconfig 命令

文章目录解决 ifconfig 命令 不到1.输入ifconfig命令出错2.检查环境变量3.使用yum安装ifconfig4.检查是否安装成功 解决 ifconfig 命令 不到 1.输入ifconfig命令出错 ifconfig命令是查Linux机器ip,可以显示出机器的网卡信息,可能最小化安装CentOS等Linux发行版的时候没有安装ifconfig命令,这时候进入终端,运行ifconfig命令就会出错 2.检查环境变量 首先想到是不是环境变量里没有ifconfig命令的路径,因为ifc

bingxuebojue的博客 9980

安装centos7修改网关时出现ifconfig命令不到解决方法

本文主要介绍安装centos7修改网关时出现ifconfig命令不到解决方法

张小鱼的博客 2532

centos7不到ifconfig命令解决方法

1、ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig命令,这时候你进入终端,运行ifconfig命令就会出错 2、首先想到是不是环境变量里没有ifconfig命令的路径,因为ifconfig是在/sbin路径下的,以root用户登录才可以运行,看看root用户的环境变量 ...

Gzigithub的博客 3万+

Linux中不到ifconfig命令解决方法

Linux中不到ifconfig命令解决方法 1、ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig命令,这时候你进入终端,运行ifconfig命令就会出错 2、首先想到是不是环境变量里没有ifconfig命令的路径,因为ifconfig是在/sbin路径下的,以root用户登录才可以运行,看看root用户的环境变量 echo $PATH 3、环境变量里有/sbin这个路径,也就是说如果

qq_25123887的博客 3万+

CentOS7不到ifconfig命令解决办法

CentOS7不到ifconfig命令解决办法

MySQL中主从连接可能出现的问题 2564

CentOS 7不到ifconfig 命令解决办法

6、成功运行,那windows里的ipconfig命令到了linux里为什么有时还不是必须安装的,原来是ifconfig命令来源于net-tools,这个包里有ifconfig,netstat,whois等命令,所以之前这些命令都是运行不了的。通过yum search 这个命令我们发现ifconfig这个命令是在net-tools.x86_64这个包里,接下来只要安装这个包就行了。结果表明/sbin目录下并没有ifconfig命令,所以:CentOS里边是没有安装ifconfig的。

sinat_39619040的博客 9659

CentOS 7ifconfig命令不到了,怎么办?

本次经验分享主要解决CentOS 7ifconfig命令不到的问题。该命令类似Windows中的ipconfig命令ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。 CentOS 7中默认可以使用ip addr命令来显示网络配置,如IP地址。 1.首先我们在终端中输入:ifconfig,如果输入“bash: ifconfig: 未命令”,表示该系统中没有该命令,那么我们就需要安装它。 输入

guanghuotainkong的博客 4645

/etc/sudoers

Defaults !visiblepw Defaults always_set_home Defaults match_group_by_gid Defaults always_query_group_plugin Defaults env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTS...

diexian5592的博客 240

线上事故-sudo环境变量

线上事故-sudo环境变量 项目部署 项目部署的时候,为了控制权限. 会为项目单独创建一个用户, 来运行项目. 并且会该用户添加某些权限, 如sudo 事故内容 最近做了项目迁移, 用户、代码、环境都是整体迁移的。 没有遗漏。 但是突然发现某个业务的数据没有走系统的自动处理脚本。 于是开始定位问题, 查看代码git历史, 测试代码功能。 发现都是没有问题的。 事故原因 最后,突然想到,项目的配置文...

落笔成名 385

CentOS系统ifconfig命令不到怎么办

ifconfig命令用于显示或设置网络设备,在调试或调优的时间经常使用。对于这个命令,一般只要掌握如何查看,如何设置IP地址基本就可以了,对于网络钻的比较深的,还需要更多一些参数。 前段时间CentOS最小化安装后,却出现了ifconfig command not found命令不到的情况。 解决办法如下: yum install net-tools -y ifconfig命令只是net-tools工具包中的一个软件,输入上述命令后,就会通过安装net-tools工具包来安装ifconf

瓦力学长 4964

CentOS 7不到ifconfig命令解决办法

CentOS 7不到ifconfig命令解决办法

weixin_51788950的博客 1429

Centos-bash:ifconfig: 未命令

Centos-bash:ifconfig: 未命令 全网最简单详细步骤 通用

章叁的博客 1770

最新商业视频打赏系统源码 打赏平台 视频打赏双支付系统 含代理打赏源码.zip

最新商业视频打赏系统源码 打赏平台 视频打赏双支付系统 含代理打赏源码.zip

上一篇: mac电脑如何与手机同步复制粘贴_苹果换安卓手机如何同步手机自带备忘录便签?...
下一篇: python导入标准库对象的语句_Python项目中如何优雅的import
weixin_39626162
博客等级 码龄9年 22粉丝 148原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值