我正在運行一個樹莓派,並希望創建一個可執行文件,只需幾秒鐘就可以重新啓動它。 (我打算通過ssh觸發它和註銷實際重新啓動發生之前)設置UID位不能按預期工作
我創建一個可執行與C++與內容:
#include <cstdlib>
int main() {
system("sleep 5");
system("reboot");
return 0;
}
LS -l生成的可執行文件的:
---s--x--x 1 root ben 6191 Jan 10 15:42 reboot
我的計劃是現在將setuid位與根組合作爲二進制的所有者使用,以便重新啓動命令可以由任何用戶執行。
不幸的是,這是不工作和運行程序時,它給了我:
Failed to issue method call: Access denied
Must be root.
爲什麼這是行不通的任何解釋?
我知道可能有更簡單的方法來做到這一點。這個問題的目的在於理解爲什麼這種方式不起作用。
預先感謝您和問候
我耽擱抱歉。我試了你的答案,確實有效。謝謝。 – ben