ha mar security...

Zelenak.Gabor at ans.lri.hu Zelenak.Gabor at ans.lri.hu
2001. Május. 4., P, 15:01:46 CEST


mi a tarsulat velemenye az alabbiakrol?
az NFS protokol stateless, azaz a kliensek
nem igazan szolhatnak bele, hogy a szerver
hogyan kezeli a megnyitott file-okat.

a nyitott file-ok permission-jai:
a unix - a szakirodalom szerint - akkor
csekkeli le a jogosultsagi biteket egy file
eseteben, amikor azt egy processz eloszor
meg kivanja nyitni, es nem minden egyes
irasi, vagy olvasasi muveletnel.

ime a pelda:
ha a user megnyitja a file-t RW, majd kisvartatva
a file owner-re azt mondja a file-ra, hogy az RO -
ebbol a user mit sem fog eszrevenni - egeszen
addig nem lep eletbe szamara az owner modositasa,
amig a file-t be nem csukta!

hasonlo az eset a nyitott file-ok torlesenek a kerdesekor.
a file-t ki lehet torolni - megfelelo jogosultsagokkal, de
az mindaddig nyitva marad az ot korabban megnyito
processnek, amig az be nem zarja - szamtalan program
(editorok stb.) hasznaljak ezt atmeneti file-ok kezelesekor.
ez eleg komoly baj forras lehet NFS eseten, hisz a szerver
mit sem tud a megnyitott file-ok pillanatnyi allapotarol.

csak a kliens az, aki ismeri a fenti dolgokat - o ha eszreveszi,
hogy a file-t torolni akarjak - nem torol rogton, hanem
a RENAME operacioba kezd, es valami olyan
file nevet talal ki, amit meg veletlenul sem hasznal
mas, ugyanazon a helyen. majd, ha mar tenyleg
az utolso process is becsukta maga mogott az ajtot,
csak akkor issue-olja a REMOVE parancsot a tenyleges
torleshez. amit itt leirtam klaszul mukodik lokalisan.

de mi a helyzet akkor, amikor a torlestt mondjuk a szerveren,
vagy egy masik node-on kezdemenyeztek? - az NFS emiatt
azonnal hibaval ter vissza a user fele -
nem letezo handler-re hivatkozas miatt.

vagy, mi van akkor, ha a kliens kileheli a lelket a RENAME
es a REMOVE operacio kozott? - a szemet ott marad a
szerveren...
----------------------------------------------------------
--                 Zelenak Gabor			
--             system programmer			
----------------------------------------------------------
--   MATIAS Air Traffic Control Center, Hungary
--   HUNGAROCONTROL
--  (36)1-296-9106{FAX}
--  (36)1 296-9107
----------------------------------------------------------
--  mailto:zelenak.gabor at ans.lri.hu
----------------------------------------------------------
With Ada.Text_IO;
  Use Ada.Text_IO;

Procedure Hello_World Is
Begin	
	Put ("Hello World!");
	New_Line;
End Hello_World;
----------------------------------------------------------




További információk a(z) BSD levelezőlistáról