Как вызвать CMake в программе setuid?

Я хочу позвонить CMake из setuid исполняемый на Linux. Код для callcmake.cpp:

#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
setuid(geteuid());
system("cmake ..");
}

а затем я набрал следующее под учетной записью A

g++ callcmake.cpp -o callcmake
chmod 4755 callcmake

Я попытался запустить этот callcmake с другой учетной записью B, cmake имеет следующий вывод:

CMake Ошибка в /usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake:172 (CONFIGURE_FILE):
configure_file Проблема с настройкой файла
Стек вызовов (самый последний вызов сначала):
CMakeLists.txt: 4 (проект)

— Идентификатор компилятора C неизвестен
CMake Ошибка в /usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake:177 (CONFIGURE_FILE):
configure_file Проблема с настройкой файла
Стек вызовов (самый последний вызов сначала):
CMakeLists.txt: 4 (проект)

Как я могу запустить cmake с помощью программы setuid?

0

Решение

Задача ещё не решена.

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


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