Я запускаю малиновый pi и хотел бы создать исполняемый файл, который просто должен перезагрузить его через несколько секунд. (Я планирую запуск его через SSH и выйти перед фактическим перезагрузка происходит)бит set-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
План my теперь должен использовать бит setuid в сочетании с корнем в качестве владельца двоичного файла, так что команда перезагрузки может быть выполнена любым пользователем.
К сожалению, это не работает, и при запуске программы она дает мне:
Failed to issue method call: Access denied
Must be root.
Любое объяснение, почему это не работает?
Я знаю, что могут быть более простые способы сделать это. Этот вопрос действительно направлен на понимание того, почему этот способ не работает.
Заранее спасибо и С уважением
Я извиняюсь за задержку. Я попробовал ваш ответ, и это действительно сработало. Спасибо. – ben