Centos

which 和 sudo 不使用相同的路徑

  • July 12, 2015
$ 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 更改了路徑,但將其原封不動地傳遞給命令。因此它使用 /sbin/reboot 作為重啟命令,但將常用路徑傳遞給 which 命令(因此在 /usr/bin/reboot 中找到 sudo)。

當您以 root 身份執行命令時,sbin 文件夾中的文件的優先級高於路徑中的其他文件夾。這就是 sudo 選擇 /sbin/reboot 的原因。您必須在 sudoers 文件中使用 /sbin/reboot,或者必須顯式呼叫 sudo /usr/bin/reboot

引用自:https://serverfault.com/questions/507949