Выполнить скрипт, принадлежащий пользователю root из кода C ++

Я пытаюсь запустить скрипт из моего кода C ++, принадлежащего пользователю root.
Но это бросает мне ошибку доступ запрещен запустить скрипт.

Разрешения для файлов следующие:

-rwx------ 1 root    mygame   39 Dec 24 19:11 script.sh
-rwsr-xr-x 1 gag5kor mygame 7999 Dec 26 12:23 a.out

Код C ++:

   int err = system("./script.sh");
cout << "Before err: " << err << endl;

cout << "setuid: " << seteuid(0) << endl;

err = system("./script.sh");
cout << "After err: " << err << endl;

Функции getuid () и geteuid () возвращают мне одно и то же значение (скажем, 1234) даже после того, как я вызываю setuid (0) для получения прав root

Что я здесь не так делаю?

Я прочитал другие ответы на stackoverflow, но не в состоянии понять правильно.

-3

Решение

chmod 0555 script.sh должен это исправить

РЕДАКТИРОВАТЬ

chown root script.sh
chmod 0500 script.sh

Должен выполнить ваши требования

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]