小编yar*_*oze的帖子

使程序始终以 root 身份在 OS X 中运行

我试图让 C 程序始终以 root 身份运行,无论是谁调用它。基本上,我希望它以调用“mkdir /test”为例。所以我创建了 C 程序如下:

#include <stdio.h>

int main()
{
system("mkdir /test");
printf("bye...\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在,我刚刚编译它:gcc test.c -o test

现在我尝试设置权限:

chmod +s test
Run Code Online (Sandbox Code Playgroud)

但是,以普通用户身份运行它时,出现权限被拒绝错误。因此,它执行文件但不具有 root 权限。我还尝试将权限设置为:

chmod a+s test
chmod o+s test
Run Code Online (Sandbox Code Playgroud)

但我总是遇到同样的问题。

任何人都可以帮助我吗?顺便说一下,文件 test.c 是由 root 创建的,它也被编译为 root。

bash-3.2# ls -al | grep test 
-rwxr-xr-x   1 root   staff       8796  5 Ago 19:07 test
bash-3.2# chmod +s test
bash-3.2# ls -al | grep test 
-rwsr-sr-x   1 root   staff       8796  5 Ago 19:07 test
bash-3.2# whoami
root …
Run Code Online (Sandbox Code Playgroud)

unix permissions chmod macos

4
推荐指数
1
解决办法
7960
查看次数

标签 统计

chmod ×1

macos ×1

permissions ×1

unix ×1