如何为sudo命令定义PATH环境变量
来源:互联网 发布:qq空间怎么推广淘宝 编辑:程序博客网 时间:2024/06/05 07:10
当你使用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
在使用sudo执行命令确保环境变量的传递
首先,我们可以随时使用sudo -u targetUser env来检查目标用户targetUser的环境变量,特别是你定义的一些HOME目录和PATH变量
以下是两个重要的配置步骤:
确保环境变量得以传递,以Hadoop相关的一些环境变量为例,我们需要在/etc/sudoers中添加需要传递的环境变量,比如:
Defaults env_keep += “JAVA_HOME HADOOP_HOME HBASE_HOME HIVE_HOME MAHOUT_HOME PATH”
如果不做上述配置,可以使用sudo -i -u targetUser your-command来执行你的命令,使用-i参数会模拟一次登录,目标用户的相关环境变量就可以相应的被初始化了!
- 如何为sudo命令定义PATH环境变量
- Linux下为sudo命令定义PATH环境变量
- sudo命令保持环境变量
- 如何设置环境变量Path
- sudo找不到命令:修改sudo的PATH路径
- sudo找不到命令:修改sudo的PATH路径
- sudo找不到命令:修改sudo的PATH路径
- sudo找不到命令:修改sudo的PATH路径
- sudo后 环境变量被重置为默认
- 为Ubuntu添加PATH环境变量
- 为Ubuntu添加PATH环境变量
- 为Ubuntu添加PATH环境变量
- sudo执行脚本找不到环境变量和命令
- PATH 环境变量的定义和修改 classpath
- 环境变量PATH,cp命令,mv命令
- 【linux】为ubuntu添加PATH环境变量
- 利用sudo命令为Ubuntu分配管理权限
- 利用sudo命令为Ubuntu分配管理权限
- React native学习第五章:Flexbox
- TCP三次握手/四次挥手
- 详解Navicat for mysql 安装教程
- tensorflow学习笔记--embedding_lookup()用法
- Android GPS定位(二)使用过程中的一点小坑
- 如何为sudo命令定义PATH环境变量
- 第四篇:观察者模式
- 裁剪linux系统服务
- SystemUI任务管理器缩略图获取流程
- foobar 更换皮肤
- fastJson在bean中加入@JsonProperty转换出的对象中依然有字段为null的处理
- 【Ubuntu 16】源码包安装Apache Httpd
- 封装
- TCP UDP建立链接对比