如何在C语言中放弃Linux的root特权?

  

我想以非root用户的身份进行fork和exec编程,而父级保留root权限.

伪代码:

  pid = fork();

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

解决方法:

如果要在C代码中放弃特权,请使用setuid函数.

相关文章