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

我想以非root用户的身份进行fork和exec编程,而父级保留root权限.伪代码:pid = fork();if (pid == 0) {if (RunAsUser(ConvertStringToUserId(John)) == false) {stop();}if (RunAsUser(ConvertStringToUserId(ad...

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

伪代码:

  pid = fork();

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

解决方法:

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

本文标题为:如何在C语言中放弃Linux的root特权?

基础教程推荐