修改或定义sudo下的PATH环境变量
1. 问题描述
Linux在普通⽤户权限下,可以使⽤sudo去执⾏相关的命令,但是有时候会提⽰:Command not found
这是因为由于安全考虑,sudo执⾏⽤⼀个程序时会在新的,最⼩化环境中执⾏,即使在环境变量PATH
中设置了路径也不到,因为在sudo执⾏下,采⽤默认的PATH变量使⽤。
2. 解决办法
a, 修改/etc/sudoers⽂件,⾥⾯的默认PATH变量,这⾥我把‘/usr/local/haoop/bin’路径加进去了
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/hadoop/bin"
b,  将/etc/sudoers⽂件,中的Defaults env_reset改为Defaults !env_reset取消采⽤默认PATH变量,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',这样sudo执⾏命令是就会使⽤系统的PATH变量,⽽不是默认PATH变量
sudo vim /etc/sudoers
Defaults !env_reset
vim ~/.bashrc
alias sudo='sudo env PATH=$PATH'环境变量path误删有影响吗

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。