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