IOPL problemy
Petr Skoda
skoda na sunstel.asu.cas.cz
Pátek Květen 21 12:11:57 CEST 1999
Prosim o radu. kdo vi.
Chci spustit program pro rizeni videoblastera - pouziva svgalib a jine.
Program ma nastavene SUID i SGID a uvnitr nej je iopl(3).
Kdyz jej spustim pod rootem, jde. Kdyz pod uzivatelem normalnim,
zahlasi v okamziku volani iopl(3) chybu EPERM, tj current user is not
superuser. Prikladam kus vystupu strace -u skoda
nanosleep(0xbffffb8c, 0, 0x400dee7c, 0, 0x4) = 0
ioctl(0, SNDCTL_TMR_STOP, {B38400 opost isig -icanon -echo ...}) = 0
open("/etc/video.cfg", O_RDONLY) = 5
fstat(5, {st_mode=0, st_size=0, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x400fc000
read(5, "# configuration for Media Pro Pl"..., 4096) = 714
read(5, "", 4096) = 0
iopl(0x3) = -1 EPERM (Operation not
permitted)
Jak je to vubec se SUID programy ? ma se projevit neco na getuid ?
Nebo se objevuje stale stejne uid uzivatele ?
pred uvedenou hlaskou se totiz objevuje jeste tohle
getuid() = 7544
setuid(7544) = 0
getgid() = 251
setgid(251) = 0
getuid() = 7544
setreuid(4294967295, 7544) = 0
getgid() = 251
setregid(4294967295, 251) = 0
Tady nechapu proc me to strka vlastnika na puvodniho a ne efektivniho
ten program je opravdu
-rwsr-sr-x 1 root root video
Tak kde je chyba ? Nebo to spatne chapu
knihovna je /lib/libc.so.6 -> libc-2.0.7.so
jadro 2.0.34
Pozn ten program saha na specialni porty karty videoblastera, proto iopl a
ne ioperm.
Diky za napady
*************************************************************************
* Petr Skoda Tel : (0204) 649201, l. 361 *
* Stelarni oddeleni (0204) 620361, 620136 *
* Astronomicky ustav AVCR Fax : (0204) 620250 *
* 251 65 Ondrejov e-mail: skoda na sunstel.asu.cas.cz *
* Ceska republika pskoda na mbox.cesnet.cz *
*************************************************************************
Další informace o konferenci Linux