getuidor geteuidwould be an obvious choice.
getuid .
e geteuid effective. .
, sudo root (), , - ( wheel ..)
, :
#include <unistd.h>
#include <iostream>
int main() {
auto me = getuid();
auto myprivs = geteuid();
if (me == myprivs)
std::cout << "Running as self\n";
else
std::cout << "Running as somebody else\n";
}
, getuid() geteuid() , " ". sudo./a.out, getuid() , geteuid() root wheel, " - ".