首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux下sudo报错

Linux下sudo报错

作者头像
hotarugali
发布2022-02-28 19:57:36
发布2022-02-28 19:57:36
7.7K0
举报

1. sudo: XXX: command not found

其中,XXX 是所运行的程序命令。

  • 问题:直接运行 XXX 程序命令时没有问题,但加上超级权限 sudo 就报错 command not found
  • 原因:使用 sudo 命令时,使用的配置文件是 /etc/sudoers,查找可运行程序命令由 /etc/sudoers 文件中的 secure_path 环境变量指定,所以即使系统环境变量 PATH 中有 XXX 程序命令的路径,sudo XXX 也会报错。
  • 解决:
  1. 直接将程序命令所在目录(必须是绝对路径,不能带环境变量)追加到 /etc/sudoers 文件中的 $secure_path 变量,即 /etc/sudoers 文件中如下位置(由于 /etc/sudoers 文件是只读文件,所以这种强制修改方式不太好):
代码语言:javascript
复制
 Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 

2. 查看 /etc/sudoers 文件中的 secure_path 变量,该变量包含的所有目录下的程序命令都可以被 sudo 查看到,于是我们就可以创建程序命令 XXX 的软连接到 secure_path 变量包含的任意目录下,比如在目录 /usr/local/bin 下创建 XXX 的软链接:

代码语言:javascript
复制
 sudo ln -s path_of_XXX /usr/local/bin     # path_of_XXX 为程序命令 XXX 的路径 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. sudo: XXX: command not found
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档