如何在C中删除linux上的root权限?

时间:2014-08-21 20:05:52

标签: c linux

我希望fork和exec并以非root用户身份编程,而父级保留root权限。

伪代码:

  pid = fork();

  if (pid == 0) {
      if (RunAsUser(ConvertStringToUserId("John")) == false) {
          stop();
      }
      if (RunAsUser(ConvertStringToUserId("admin")) == true) {
          stop();
      }
      CreateProcess();
  }

2 个答案:

答案 0 :(得分:3)

如果要删除C代码中的权限,请使用函数setuid

答案 1 :(得分:0)

让您的程序调用子进程

sudo -u user /path/to/externalprogram

而不仅仅是

/path/to/externalprogram