Zamceni souboru - flock/fcntl
Stepan Roh
sroh7497 na ss1000.ms.mff.cuni.cz
Čtvrtek Říjen 12 10:09:12 CEST 2000
On Thu, 12 Oct 2000, Juraj Hiľovský wrote:
>
> ----- Original Message -----
> From: Martin Mačok <martin.macok na underground.cz>
> To: <linux na linux.cz>
> Sent: Wednesday, October 11, 2000 9:19 PM
> Subject: Re: Zamceni souboru - flock/fcntl
>
>
> > On Wed, Oct 11, 2000 at 04:58:36PM +0200, David Pavlis wrote:
> > > Mam dotaz. Potrebuji v programu v C-ku uzamknout soubor tak aby na nej
> > > nemohly zadne jine aplikace. Zkousel jsem to jak s flock, tak s fcntl,
> > > ale vzdy je mozne soubor otevrit jinym programem - napr. "vi" a zapsat
> > > do nej.
> >
> > Takto obecne to nepujde, budete si to muset obejit nejakym trikem,
> > napriklad docasnym prejmenovanim souboru, docasnym chmod 0 souboru nebo
>
> Ked to takto obecne nejde, tak by ma zaujimalo, preco je to tak. Preco treba
> pouzivat nejake triky na nieco, co by mal zvladnut samotny OS ?
V Linuxu existuje tzv. mandatory lock, tj. zamek, ktery hlida jadro -
prace s nim je stejna jako u normalnich zamku, ale jadro vam odmitne praci
se souborem, kdyz ho ma nekdo zamceny. Tato vec pochazi uz ze Systemu V,
akorat ze neni POSIX (zrejme). Souboru nastavite mandatory lock tak, ze mu
nastavite sgid bit a zrusite group execute bit (chmod g+s-x). Blize viz
zdrojaky kernelu, soubor Documentation/mandatory.txt.
S pozdravem,
Stepan Roh
Další informace o konferenci Linux