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

Sha*_*dor 3 c c++ unix suid

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

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

mvp*_*mvp 6

您可以比较结果getuid()geteuid() 库调用.

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