在 *nix中实际实现了setuid位



在许多地方记录了setuid位,使普通用户能够以执行者的特权而不是他自己的特权运行可执行文件。

但是,我还没有发现任何位置记录了setuid位的实现。

这是我的猜测。

  1. bash的命令时,它会制作fork,然后进行exec系统调用。
  2. 控制传递到内核,而内核检查了execsetuid位。
  3. 如果内核看到了位置,则它将开始将新过程的euid设置为文件的所有者,然后启动新过程。
  4. 该过程正常带有文件所有者的特权。
  5. 原始bash过程从未获得根特权。

这是在实践中实际实现的接近,还是另一组步骤?

是的,这是正确的。读取execve(2) - basile starynkevitch

相关内容

  • 没有找到相关文章

最新更新