哪个和sudo不使用相同的path

$ which reboot /usr/bin/reboot $ sudo reboot Sorry, user myusername is not allowed to execute '/sbin/reboot' as root 

我在这里错过了什么?

我认为这与这个问题有关:

https://stackoverflow.com/questions/257616/sudo-changes-path-why

所以sudo改变path,但是不改变地传递给命令。 所以它使用/ sbin / reboot作为reboot命令,但将通常的path传递给which命令(因此在/ usr / bin / reboot中find了sudo)。

当以root身份运行命令时,sbin文件夹内的文件比path中的其他文件夹具有更高的优先级。 这就是为什么sudoselect/ sbin / reboot。 你必须在你的sudoers文件中使用/ sbin / reboot,或者你必须明确地调用sudo / usr / bin / reboot

这是告诉你,你的sudo权利不包括使用reboot应用程序的能力。 PATH没有被修改; 它可以findreboot就好了。

cat /etc/sudoers ,并根据需要修改visudo