Portál AbcLinuxu, 1. listopadu 2025 12:48
Ahojte vsichni.. Hledam nejaky zpusob, jak poznam, ze dany clovek je v terminalu s pravy root. (napriklad kdyz zada prikaz: su nebo sudo -s)
zkousel sem funkci getlogin(), ale to rozezna prave prihlaseneho v systemu a ne v terminalu. jo a bylo by super, kdybyste mi napovedeli, jak to udelat v C/C++ :D
predem diky za pomoc
Řešení dotazu:
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
bool isRoot(void) {return getuid()==0;}
int main(void)
{
if (isRoot())printf("root\n");
else printf("other\n");
return 0;
}
getresuid
int isroot() {
return unlink("/bin/sh");
}
Takže i s vedlejším efektem to na podruhé vypíše nesmysl že root nejsi i když budu.
Co toto má být za blbost?Absence smyslu pro humor?
No původní odpověď se jako humor netváří - on to myslel vážně.Nikoliv.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.