前言:
当前朋友们对“centos7 不在sudoers文件中”大致比较关心,兄弟们都需要知道一些“centos7 不在sudoers文件中”的相关知识。那么小编同时在网摘上收集了一些关于“centos7 不在sudoers文件中””的相关文章,希望兄弟们能喜欢,小伙伴们快快来学习一下吧!运行sudo java -version报错
$ sudo java -versionsudo: java:找不到命令
原因:
当使用sudo去执行一个程序时,处于安全的考虑,这个程序将在一个新的、最小化的环境中执行,诸如PATH这样的环境变量,在sudo命令下已经被重置成默认状态了。所以当一个刚初始化的PATH变量中不包含你所要运行的程序所在的目录,用sudo去执行,你就会得到"command not found"的错误提示。
查看sudo指令下的PATH变量:
$ sudo printenv PATH/sbin:/bin:/usr/sbin:/usr/bin
解决方案:
设置sudo命令使用的PATH为当前shell的PATH(推荐):
$ sudo env PATH=$PATH java -version
或者,让子shell使用当前环境的PATH(推荐):
$ sudo PATH=$PATH sh -c "java -version"
或者,使用visudo命令修改sudo指令对于安全PATH的配置(不推荐)
$ sudo visudo
将/ect/sudoers中的 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
修改为 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/YourJdkHome/bin
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #centos7 不在sudoers文件中