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

sudo找不到命令:修改sudo的PATH路径
sudo的坑,给错装软件在root用户的朋友们

sudo有时候会出现找不到命令,而明明PATH路径下包含该命令,让人疑惑。其实出现这种情况的原因,主要是因为当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因为系统安全的考虑,但却使得sudo搜索的路径不是我们想要的PATH变量的路径,当然就找不到我们想要的命令了。两种方法解决该问题:
首先,都要打开sudo的配置文件:sudo visudo
1.可以使用 secure_path 指令修改 sudoers 中默认的 PATH为你想要的路径。这个指令指定当用户执行 sudo 命令时在什么地方寻找二进制代码和命令。这个选项的目的显然是要限制用户运行 sudo 命令的范围,这是一种好做法。
2.将Defaults envreset改成Defaults !envreset取消掉对PATH变量的重置,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',这样sudo执行命令时所搜寻的路径就是系统的PATH变量中的路径,如想添加其他变量也是类似。
参考:充分发挥 sudo 的作用http://www.ibm.com/developerworks/cn/aix/library/au-sudo/index.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,761评论 0 5
  • 转载两篇Mac的终端命令,索引备用,细节使用还是需要help或者man来查看。 转载1:https://blog....
    遵天循道阅读 3,277评论 0 2
  • (一)基本命令 命令格式: 命令 参数 1.ls 显示文件名,等同于dos下dir命令 命令格式:ls [opti...
    飞羽孟德阅读 2,099评论 0 3
  • 什么是sudo sudo 是一个让用户或组能够作为另一个用户运行命令的程序。换句话说,可以分派命令特权,而不需要另...
  • 仰望星空,不知哪一颗今晚会成为流星。若你是那颗流星,我愿守候一晚,见证你从闪亮到暗淡,划过夜空。 也许,你不是今晚...
    才糖阅读 116评论 0 2

友情链接更多精彩内容