sudo找不到命令:修改sudo的PATH路径

sudo有时候会出现找不到命令,而明明PATH路径下包含该命令,让人疑惑。其 实出现这种情况的原因,主要是因为当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因为系统安全的考虑,但却使得sudo搜索的路径不是我们想要 的PATH变量的路径,当然就找不到我们想要的命令了。两种方法解决该问题:

首先,都要打开sudo的配置文件:sudo visudo

1.可以使用 secure_path 指令修改 sudoers 中默认的 PATH为你想要的路径。这个指令指定当用户执行 sudo 命令时在什么地方寻找二进制代码和命令。这个选项的目的显然是要限制用户运行 sudo 命令的范围,这是一种好做法。

2.将Defaults env_reset改成Defaults !env_reset取消掉对PATH变量的重置,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',这样sudo执行命令时所搜寻的路径就是系统的PATH变量中的路径,如想添加其他变量也是类似

来自为知笔记(Wiz)

时间: 2024-08-25 17:02:19

sudo找不到命令:修改sudo的PATH路径的相关文章

[转]sudo找不到命令:修改sudo的PATH路径

sudo有时候会出现找不到命令,而明明PATH路径下包含该命令,让人疑惑.其实出现这种情况的原因,主要是因为当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因为系统安全的考虑,但却使得sudo搜索的路径不是我们想要的PATH变量的路径,当然就找不到我们想要的命令了.两种方法解决该问题: 首先,都要打开sudo的配置文件:sudo visudo 方法1:可以使用 secure_path 指令修改 sudoers 中默认的 PATH为你想要的路径.这个指令指

Linux系统下修改环境变量PATH路径的三种方法

比如要把/etc/apache/bin目录添加到PATH中,方法有三: 1.#PATH=$PATH:/etc/apache/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 2.#vi /etc/profile 在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格) 这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变 3.#vi ~/.bash_profile 修改PATH行,把/et

Linux系统下修改环境变量PATH路径

方法一: PATH=$PATH:/etc/apache/bin 该方法只对当前会话有效,每次注销或者拿出系统,该设置就会无效 方法二: vi /etc/profile 在适当的位置写入:PATH=$PATH:/etc/apache/bin $PATH是默认的系统环境变量路径 /etc/apache/bin是需要添加的环境变量路径 如果修改了/etc/profile,那么编辑结束后执行source profile 或 执行点命令 ./profile,PATH的值就会立即生效了. 方法三: vi ~

linux常用命令:sudo 命令

sudo命令用来以其他身份来执行命令,预设的身份为root. 1.命令格式: sudo  [参数]  [命令] 2.命令功能: 功能:  sudo可以针对单个命令授予临时权限.用户也可以通过su切换到root用户运行命令,su启动一个root shell允许用户运行之后的所有的命令. 1)sudo与su的不同之处:sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性:sudo也可以用来以其他用户身份执行命令.此外,sudo可以记录用户执行的命令,以及失败的特权获取. 2)提

Linux下修改环境变量,不小心改错,找不到命令解决办法

PATH改错了找不到命令 解决方法: 重新定义PATH export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ??!?? 原文地址:https://www.cnblogs.com/mafeng/p/10751513.html

Ec2 sudo 运行 npm或node时,出现找不到命令

sudo 运行 npm或node时,出现找不到命令的情况,运行下面这些命令, sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf 原文在这边, https://ask.fedora

sudo 运行 npm或node时,出现找不到命令

sudo 运行 npm或node时,出现找不到命令的情况,运行下面这些命令, sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf 原文在这边, https://ask.fedora

ubuntu sudo: pip:找不到命令

编辑文件 /etc/sudoers 1 sudo vi /etc/sudoers 将Defaults env_reset ,改为 Defaults    !env_reset 编辑文件-/.bashers 1 sudo vi .bashrc 添加 1 alias sudo='sudo env PATH=$PATH' 之后 1 source ~/.bashrc OK,这就好了 原文地址:https://www.cnblogs.com/white-the-Alan/p/8901118.html

十三、su命令、sudo命令、限制root远程登录

一.su命令 格式为su [-] username,后面可以跟-,也可以不跟.普通用户的su命令不加username时,就是切换到root用户.root用户也可以使用su命令切花到普通用户.该命令加上-后,会初始化当前用户的各种环境变量.示例加与不加-的区别,命令: # su user1 [[email protected] root]$ pwd /root [[email protected] root]$ ls ls: 无法打开目录.: 权限不够 [[email protected] roo