我正在运行centos7。我安装了木偶。如果我以用户身份写作puppet
,我会得到正确的输出。如果我写sudo puppet
我得到command not found
.
真正奇怪的是,如果我这样做sudo su -
并成为 root,然后 write puppet
,我会得到与普通用户一起运行它时得到的正常输出......
[unu@centosmaster puppet]$ puppet
See 'puppet help' for help on available puppet subcommands
[unu@centosmaster puppet]$ sudo puppet
sudo: puppet: command not found
[unu@centosmaster puppet]$ sudo su -
Last login: Wed Sep 19 08:41:20 EDT 2018 on pts/0
[root@centosmaster ~]# puppet
See 'puppet help' for help on available puppet subcommands
对我来说,这完全没有意义......
对于 root 用户和普通用户,该$PATH
变量是相同的。
根据超级用户网站上的这个问题,CentOS 将环境清理为正常的默认值。
这就是为什么有些命令不能与
sudo
.看起来您应该为这些选项签入(使用 !!
/etc/sudoers
编辑它):visudo
这一行:
$PATH
专门用一个明显不同于您期望的预先确定的用户来覆盖您的用户。您可能想根据
secure_path
自己的需要进行修改,或者如果您觉得标准用户的$PATH
即使与sudo [command]
.