是否设置了set-user-id位?

时间:2012-11-12 06:45:41

标签: c++ c unix suid

我将编写一个代码,该代码将广泛执行其他程序。如果有人设置了set-user-id位(并且root是所有者),我不希望它具有root权限。所以我要在启动时放弃权限。

我的问题是: 如何从程序中了解它是否以set-user-id模式运行?

1 个答案:

答案 0 :(得分:6)

您可以比较getuid()geteuid() library calls的结果。

如果geteuid()返回0(根),但getuid()不返回0,则可以说suid处于活动状态。