OT: CD FreeBSD

Cejka Rudolf cejkar at dcse.fee.vutbr.cz
Wed Sep 8 15:41:33 CEST 1999


Jan Satko wrote (1999/09/08):
> > Jezisi marja... Hlavne ne /proc! Cim min toho v /proc bude, tim lip.
> > Idealni by bylo, kdyby zustal jen /compat/linux/proc v linuxovem
> > rezimu (pozor - uz se nerika "Emulace Linuxu", ale "Linuxovy rezim" :-).

> a preco nie ?

Napriklad pro kazdy chroot()/jail() je potreba v novem korenovem
adresari udelat mount /proc, aby zase fungoval prikaz ps a jine, ktere
jsou typicky na /proc postaveny. Je to dost odporne na to, aby rozhrani
chroot() bylo na ustupu a jail() aby nedostalo sanci na vylepsovani
(no, ted samozrejme prehanim).

Dalsi problem: Linuxova implementace v sobe nenese informace o typu dat.
Ja mam vedet, co ktery nazev v /proc obsahuje? Typicky odporna hackerina.
A chyba se neprojevi hned pri kompilaci (sysctl), ale az pri behu
programu (procfs) - a to jeste jen mozna a obcas.

A nebo si uvedomte, jak je to implementovane: Pri cteni dat jadro
binarni data prevadi na textova, to se pres procfs preda programu,
ktery je musi slozite identifikovat, byt pripraven na zmenu mezerovani,
zmenu formatu realnych cisel... Brrr. Sice na to existuje knihovna,
ale ta musi vsechny odpornosti stejne udelat. Dokonaly zdroj problemu.
A se zapisem je to stejne - chci-li v programu neco zmenit, misto
zavolani primitivni systemove funkce musim delat bud ruzne obskurity
nebo opet volat specialni knihovnu.

A to uz ani nemluvim o potencialnich bezpecnostnich problemech.

> cat /proc/interrupts 

vmstat -i

> alebo ine veci okolo siete ci pamate.

Tady nejde o vetsi ci mensi moznosti, ale o dobre nebo spatne rozhrani.

A /proc je dost spatne rozhrani. Snad to casem L-vyvojari pochopi.
Ale v tomto smeru moc optimista nejsem - viz treba pripad systemoveho
rozhrani pro zmenu specialnich priznaku souboru: jak dlouho jim
trvalo, nez pochopili, ze museji umoznit menit priznaky na souborech
nikoli podle deskriptoru otevreneho souboru, ale podle plneho nazvu
na jeste neotevrenem souboru.

Vsechno, co je v Linuxu v /proc, muze byt i v sysctl! Jo, je chyba
ze presouvani dat do sysctl stromu postupuje pomalu - ale to uz je
vec zcela jina.

> mozno prave preto programatory robia programy pre linux, lebo sa da pekne
> vsetko a lahko sledovat. netreba mat nejaky debugger a kontrolovat na aky

To je vec nazoru. Ja v sysctl najdu potrebne systemove polozky
mnohem rychleji, nez v procfs.

> port sa to povesilo a ine veci. nezabudajte ze /proc je VIRTUALNY
> filesystem.

Sice je virtualni, ale to nic nemeni na tom, ze /proc byl blbej napad.

-- 
Rudolf Cejka   (cejkar at dcse.fee.vutbr.cz;  http://www.fee.vutbr.cz/~cejkar)
Brno University of Technology, Faculty of El. Engineering and Comp. Science
Bozetechova 2, 612 66  Brno, Czech Republic



More information about the Users-l mailing list