chown -R root:root /
Hezké sobotní dopoledne. Myšlenkama už si vidím někde venku na procházce, ale na jednom ze serverů potřebuji ještě dodělat nějaké nastavení. Utahuji šrouby a měním práva na adresáři. Do konzole ťukám „chown -R root.root /“. 600 ms ticha a pak bolestivý záblesk v hlavě. S hrůzou v očích si uvědomuji tu fatální chybu. Nechtěl jsem změnit práva na celém systému (/) ale pouze v aktuálním adresáři (./). Jedna tečka. Tečka, která Vám změní život. Vycházka se odkládá a jde se řešit problém… Zjišťuji rozsah škod, kdy „ls“ říká, že i necelá vteřina stačí k tomu aby bylo změněno téměř vše! Proč je ten Linux tak rychlý?
Přemýšlím nad možnostmi opravy. Obnovu ze zálohy zavrhuji neboť nechci přijít o několik hodin (nejen mojí) práce. Zkoumám možnosti zálohování (dirvish), rsync, cp (–attributes-only) chmod a chown (–reference). Všechna řešení jsou z části v něčem špatná – postupuji tedy dle hesla „Čím ses pokazil, tím se taky sprav“.
Hlásím se na backup server a smolím rychlý příkaz pro výpis správných atributů ze zálohy.
find /home/dirvish/mojezaloha -printf "chown -H %u:%g %p\n" > vypis.txt
Pomocí vi v souboru vypis.txt následně opravuji cestu k souborům a adresářům. Upravený fajl nahrávám na postižený server a belskurychle ho na něm „pajpnu“.
cat vypis.txt | sh -
Oprava je naštěstí rychlá. Slunce opět vyšlo…
No potěš.
28 března, 2018 at 5:21 pm