Linux有问必答:如何为sudo命令定义PATH环境变量
2023-09-11 14:16:08 时间
问题:我安装了一个程序到/usr/local/bin目录下,这个程序需要root权限才能执行,当我用sudo去执行它时,收到"sudo: XXXXX: command not found"的错误提示,不知道为什么/usr/local/bin没有被包含到PATH环境变量下面来,我该如何解决这个问题?
当你使用sudo去执行一个程序时,处于安全的考虑,这个程序将在一个新的、最小化的环境中执行,也就是说,诸如PATH这样的环境变量,在sudo命令下已经被重置成默认状态了。所以当一个刚初始化的PATH变量中不包含你所要运行的程序所在的目录,用sudo去执行,你就会得到"command not found"的错误提示。
要想改变PATH在sudo会话中的初始值,用文本编辑器打开/etc/sudoers文件,找到"secure_path"一行,当你执行sudo 命令时,"secure_path"中包含的路径将被当做默认PATH变量使用。
添加所需要的路径(如 /usr/local/bin)到"secure_path"下,在开篇所遇见的问题就将迎刃而解。
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
这个修改会即刻生效。
原文发布时间:2014-09-02
本文来自云栖合作伙伴“linux中国”
crontab Linux下 crontab 命令的用法:sudo crontab -? 命令解释: cron 是linux系统下一个自动执行指定任务的程序. cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
相关文章
- linux sed命令详解
- linux学习之使用fdisk命令进行磁盘分区(八)
- Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?
- 【Linux】linux之如何清理磁盘空间
- 每天一个linux命令(10):cat 命令
- 每天一个linux命令(9):touch 命令
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
- Linux strace命令
- Linux 后台执行Python脚本和nohub命令的用法
- Linux从零开始(二、基础命令(续二)解压 tar)
- Linux命令: 在线使用linux命令环境
- 【Linux】linux经常使用基本命令
- Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
- L83.linux命令每日一练 -- 第11章 Linux系统管理命令 -- ipcs和ipcrm
- L79.linux命令每日一练 -- 第11章 Linux系统管理命令 -- sar和chkconfig
- L72.linux命令每日一练 -- 第十章 Linux网络管理命令 -- mail和nslookup
- L55.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- mkswap和swapon
- L54.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- umount和df
- L51.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- mkfs和dumpe2fs
- L33.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- du和date
- L32.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- dmesg和stat
- Linux命令-mdadm管理磁盘阵列组
- Linux基础命令-du查看文件的大小
- Linux命令测网速
- Linux好用命令之free命令