( x-daemon | 2007. 11. 10., szo – 05:43 )

kevered a dolgokat. eroforraskent definialtal objektumot. na de nezzuk sorjaban.

"a legtobb (kvazi minden nem trivialis) program olyan, hogy elore nem lehet megmondani az eroforrasigenyet (pongyolan fogalmazva, hogy 'mit fog csinalni'"

dehogynem tudom megmondani hogy mit csinalhat. a programod torolhet. az unlink() eroforrast fogja hasznalni. mas eroforras hasznalata nem engedelyezett.

"minden interpreter ilyen"

mivel az interpreternek engedelyezni kell az osszes eroforras hasznalatat amit az interpretalt nyelv interpretalasa soran hasznalnia kell - pl ha az interpretalt nyelvben is szerepel az unlink() akkor az interpreternek engedelyezni kell a rendszer unlink() eroforrasat - , ezert az interpretalt nyelvben megirt programnak is le kell korlatozni az eroforrasait az interpretalt program altal hasznalt eroforrasokra, neki is kell egy policy file. pl az interpreternek az unlink() es mkdir() eroforrasokhoz van joga, de az interpretalt torloprogramnak csak az unlink()-hez:

/etc/policy/bin/interpreter:
unlink()
mkdir()
EOF

/etc/policy/bin/torloprogram:
unlink()
EOF

/bin/torloprogram:
#!/bin/interpreter
unlink()
EOF

( egy program policyja az /etc/policy konyvtar alatt talalhato a program eleresi utvonalanak megfeleloen ugyanabban a konyvtarban. ez a szabalyrendszer csak pelda )

„nem a programon mulik, hanem a hasznalojan (vagyis: az inputon).”

az inputon nem mulik hogy mit csinalhat. torolhet. az inputon az mulik hogy mit akar torolni.

„ez szep es jo, de nem elegseges. a programnak ui. nem csak ennyire van szuksege a helyes mukodeshez”

a rendszer mukodesenek szempontjabol nem elegseges - szerintem így erted - , de a program mukodesenek szempontjabol igen.

„tegyuk fel, hogy en, mint felhasznalo, azt akarom, hogy a programom hozzaferjen a /home/paxteam/titok file-hoz, de ne ferjen hozza az /etc/shadow-hoz”

visszautalnek az elejehez. eroforraskent definialtal objektumokat. a rendszerben levo fileket azert sem definialnam eroforraskent, mert nem a program fogja eldonteni, nem az o joga eldonteni hogy letorolheti-e vagy sem az adott filet hanem a rendszer. en inkabb objektumnak definialnam a fileket.

„nem latom, hogyan jon ez az igeny ki a te allitasodbol (vagyis: sehogy).”

az agymenesemben csak a program altal hasznalt eroforrasok meghatarozasanak szuksegessegerol volt szo a rendszer teljes mukodeserol nem.

„aztan a csavar: tegyuk fel, hogy pont forditva akarom a viselkedeset meghatarozni.”

viselkedese 1 van. a torles.

”ugye azt nem akarod allitani, hogy kepes vagy egyszerre valamit meg annak az ellenkezojet is kiolvasni a programkodbol? ;-)”

gondolom nem ertetted amit irtam azert gondolod azt hogy olyat is kepes vagyok allitani aminek nincs ertelme :)
de a lenyeg, amit hianyolsz: azt hogy melyik objektumot tudja letorolni a program es melyiket nem, annak az eldontese nem a program feladata nem az o joga. azt hogy a program letorolheti-e az adott objektumot vagy sem azt a rendszer fogja meghatarozni a program es az objektum attributumai alapjan.

„na mire akartam mindezzel ramutatni: a gyakorlatban hasznos programok (meg az en 2 sorosome is) viselkedese mindig az inputon mulik, elore nem lehet megmondani pontosan.”

ha viselkedes alatt a vegeredmenyt erted vagyis hogy a fájl le lett-e torolve vagy sem, akkor a valasz igen. az inputon mulik. de nem az input miatt mert az egy szoveg, hanem annak az objektumnak az attributumai miatt amit meghataroz.

„az apparmor meg mas MAC rendszerek celja nem is ez, hanem az felhasznaloi igenyek leirasa”

ezt nem ertem.

„ez azt is jelenti, hogy ugyanannak (!) a programnak kulonbozo dolgokat engedhet meg egy masik felhasznalo mint te vagy en. vagyis a programbol nem lehet kiolvasni a szukseges teljes policy-t.”

a programbol ki lehet olvasni hogy mire terveztek, mik azok az eroforrasok amikhez hozza kell ferjen. az osszes tobbihez nem kell hozzaferjen. ezt persze tovabb lehet szukiteni, pl. legyenek felhasznalohoz rendelt eroforrasok is, ebben az esetben a program altal hasznalhato- es a felhasznalo altal hasznalhato eroforrasok konjukcioja adja meg azokat az eroforrasokat amelyeket az adott felhasznalo az adott programmal elerhet.

ha valamit meg nem tudtam erthetoen kifejezni szolj!