Portál AbcLinuxu, 12. května 2025 02:04

Dotaz: Jak poznam, jestli je v terminalu zalogovany root

Bundas avatar 3.7.2014 22:29 Bundas | skóre: 14 | Pardubice
Jak poznam, jestli je v terminalu zalogovany root
Přečteno: 527×
Odpovědět | Admin

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

Abe the Messiah has come.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 2× (Petr, Bundas (tazatel))
3.7.2014 23:25 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Odpovědět | | Sbalit | Link | Blokovat | Admin
Root má vždy UID 0 takže skontrolovat UID.
#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;
}
4.7.2014 00:59 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Odpovědět | | Sbalit | Link | Blokovat | Admin
getresuid
Jendа avatar 4.7.2014 01:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Odpovědět | | Sbalit | Link | Blokovat | Admin
int isroot() {
  return unlink("/bin/sh");
}
4.7.2014 07:22 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Co toto má být za blbost?

On nepotřebuje smazat /bin/sh ? A když v OS nebude /bin/sh ?

A pokud náhodou i nějaký user bude moci smazat /bin/sh tak zase nic nezjistí a soubor bude....

TOTO NENÍ ŘEŠENÍ!
rADOn avatar 4.7.2014 11:30 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
No fungovat to bude… pokud ti nevadi "vedlejsi efekty" :-)
"2^24 comments ought to be enough for anyone" -- CmdrTaco
4.7.2014 13:08 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
No a jak by to fungovalo?

Spustím jako root test smaže /bin/sh a pokud podruhé spustím konzoli i jako root tak protože tam nebude /bin/sh tak mi to napíše že root nejsem k když jako root budu, nehledě na to že mi zmizel shel /bin/sh i když dnes je to spíš link na nějaký jiný shell.

To už je lepší ten test s rm -r -f na / a ten při rootu smaže pěkně celý HDD. :-)

Takže i s vedlejším efektem to na podruhé vypíše nesmysl že root nejsi i když budu.
rADOn avatar 7.7.2014 15:51 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Jasně že to při dalším spuštění nebude chodit. Ale to nevadí, on to nikdo podruhý spouštět nebude. :->
"2^24 comments ought to be enough for anyone" -- CmdrTaco
pavlix avatar 7.7.2014 15:55 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Co toto má být za blbost?
Absence smyslu pro humor?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
7.7.2014 20:00 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
No původní odpověď se jako humor netváří - on to myslel vážně.

Je jasné že trochu rozumný uživatel to nespustí, ale začátečník když je to unlink a né remove to asi nerozdejchá....
pavlix avatar 7.7.2014 23:27 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
No původní odpověď se jako humor netváří - on to myslel vážně.
Nikoliv.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
7.7.2014 23:58 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
A podle čeho tak usuzuješ?
pavlix avatar 8.7.2014 06:05 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak poznam, jestli je v terminalu zalogovany root
Z kódu je to podle mě zcela zjevné.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.