Zalohovani
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Úterý Srpen 21 19:50:27 CEST 2001
On Tue, 21 Aug 2001, Martin `MJ' Mares wrote:
> A nestacilo by maly patch do kernelu, aby mel root pravo otevrit si soubor
> s tim, ze na tomto file-descriptoru nebude atime updatovan (O_NOATIME)?
A nebylo by lepsi rovnou udelat cele API, ktere umozni zalohovat lepe a
radostneji? (A taky by bodnula CAP_DAC_RO_OVERRIDE, kde RO je read only.)
> > je nezbytne provadet ukrutne kejkle jako obranu proti race
> > conditions (ktere stejne nikdo nedela),
>
> Ja tedy riziko race conditions vidim daleko vetsi u dumpu -- tam neni
> vlastne zaruceno vubec nic.
zalohovac: lstat("pasticka")... fajn, je to soubor
zly_uzivatel: rm("pasticka"); symlink("pasticka",
"/dev/neco_s_hodne_osklivym_side_efektem")... hahahaha
zalohovac: open("pasticka")... au! au!
To je ten problem. (Neodpovidejte, ze mam pouzit O_DONTFOLLOWSYMLINKS,
nebo jak se ten nesmysl jmenuje: misto symlink() by tam take mohl byt
link(). A navic treba tar nedela chdir(), ale pise tam cele relativni
cesty, napr. "adresar1/adresar2/soubor", takze v takove situaci lze
ten program oblbnout symlinkem podstrcenym v nejakem vyssim patre, i
kdyby nakrasne pouzival ten O_...)
Dump na zadnou podobnou minu slapnout nemuze. Ovsem, pravda, musi si zase
davat pozor na jine veci.
> > nelze presne odzalohovat derave soubory,
> A to vadi?
Trochu. Ten, kdo ten soubor vyrobil, tam schvalne mohl mit *alokovane*
ale vynulovane kusy, protoze napr. chtel predejit fragmentaci pri zapisu,
nebo proste chtel mit jistotu, ze neselze na ENOSPC.
> > ztrati se specialni atributy (immutable),
> Nemusely by, to je jen otazka toho, zda nekdo tar takove atributy nauci.
Vskutku. Temer libovolny program je mozno naucit temer cokoli, pokud to
nekdo doprogramuje. Ovsem u taru a spol. by mohla byt jista potiz s tim,
ze pouzivany datovy format jaksi nepocita s dodatecnymi informacemi
(tedy format dumpu take neni moc pruzny...i kdyz ma nejake vyhody, jako
napr. to, ze jsou metadata prohromade).
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux