Rozdil mezi pravy 711 a 701
Michal Krause
michal na krause.cz
Pondělí Listopad 13 09:34:10 CET 2000
On 13/11/2000, Martin Mačok wrote:
> > Takze jeste jednou a srozumitelne (doufam). Mam program, ktery se
> > spousti prvotne pod rootem a po zjisteni pozadovane identity se prepne
> > na uzivatele zavolanim setgid() a setuid(), pricemz jsem zkousel i
> > setregid() a setreuid() se stejnym vysledkem. Tudiz, pokud se nemylim,
> > nemel by byt zadny *id shodny s rootem, ktery vlastni (jakozto uzivatel
> > i skupina) adresar /home. Nebo snad ano?
>
> Nejjednoduseji si to overite tak, ze si zjistite, jaky je uid/gid
> (euid/egid) v momente, kdy leze do adresare /home v obou pripadech ...
To je prave to divne. Udelal jsem si maly programek:
int main(int argc, char **argv)
{
setgid(100);
setuid(500);
if (chdir("/home/mike/test/mike") != 0)
perror("chdir");
printf("%d/%d %d/%d\n", getuid(), getgid(), geteuid(), getegid());
return 0;
}
a prava jsem nastavil takto:
[root na mike projects]# ls -ld test
drwx-----x 3 root root 1024 lis 13 09:23 test
[root na mike projects]# ls -ld test/mike/
drwxr-xr-x 2 mike users 1024 lis 13 09:23 test/mike/
Program v tomto pripade vypise:
dir: Přístup odmítnut
500/100 500/100
Pridam-li testu exec pro skupinu, program funguje.
> [btw kolik uz jsem videl unixovych administratoru, kteri tento princip
> neznaji :) ]
Clovek se porad uci :)
S pozdravem
--
Michal Krause /\
ICQ: 7665279 Informace (nejenom) ze sveta Linuxu /\/ \
email: michal na krause.cz _______ http://www.root.cz/ _______ NAVRCHOLU.cz
Penguino veritas
Další informace o konferenci Linux