从C++代码中执行root拥有的脚本
Execute the script owned by root from C++ code
我正试图从root拥有的c++代码中运行一个脚本。但它给我带来了一个错误拒绝运行脚本的权限。
文件权限如下:
-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)以获取根权限之后也是如此。
我在这里做错了什么?
我读了stackoverflow上的其他答案,但无法正确理解。
chmod 0555 script.sh
应修复此
编辑
chown root script.sh
chmod 0500 script.sh
应满足您的要求
相关文章:
- 如何通过cpp程序运行shell脚本
- 在 c++ 中拥有一组结构的正确方法是什么?
- 在程序中编写脚本来编写和编译代码
- 如何在c++中使用system()来运行包含空格的python脚本
- 在cygwin中运行c++脚本时发生错误
- 如何将真正的字符串从python c-api转换为python脚本
- 我应该如何表示我拥有的连续元素序列?
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 如何使用C++初始化向量;脚本化值不是数组、指针或矢量错误
- 拥有映射的现代方法,该映射可以指向或引用已在堆栈上分配的不同类型的数据
- 现代 C++ 中作为类成员的非拥有指针
- 结构包含在两个头文件中,这两个文件我都不拥有
- 在原子中使用犰狳与脚本
- 在函数中拥有函数原型的目的是什么?
- condition_variable、引用和线程:谁拥有锁?
- 为什么我能够为阵列分配比计算机实际拥有的内存更多的内存
- 我适合在我的构建系统中使用 shell 脚本而不是AX_CHECK_COMPILE_FLAG吗?
- CANoe - 无法在 CAPL 脚本中打开.dll
- 在从Qt调用的Python脚本中导入OpenCV崩溃
- 从C++代码中执行root拥有的脚本