Portál AbcLinuxu, 26. dubna 2024 07:17


Dotaz: změna vlastníka a skupiny ve stromu.

19.9.2012 19:51 lertimir | skóre: 64 | blog: Par_slov
změna vlastníka a skupiny ve stromu.
Přečteno: 274×
Odpovědět | Admin
Hledám jak změnit vlastníky ve stromu. Provedl jsem kopii stromu souborů, ale zapomněl dát -p na kopirování vlastnické struktury, a teď hledám, jak zkopírovat vlastnická a přístupová práva z jednoho stromu (A) do druhého stromu (B). Vždy práva pro každý odpovídající soubor.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.9.2012 19:55 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus rsync.
19.9.2012 20:12 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Nestačilo. S žádnými parametry vlastníky již existujícího souboru nepřepsal.
19.9.2012 20:59 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
# su
# rsync -rog SRC DEST
19.9.2012 21:01 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
nebo
rsync -frog ...
:-)
19.9.2012 21:30 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Jak jsem psal frog nezapůsobí, asi proto, že zdrojový a cílový soubor je ve skutečnosti stejný, cílový soubor díky kopii má navíc novější time stamp. Ani se to nehlo vůbec nic se nekopírovalo a změny ve vlastnících neproběhly. Dokonce ani frpogW s vlastníky nic neudělalo a v tomto případě už se soubory kopírovaly.
19.9.2012 22:11 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
U mě ke změně vlastníka a skupiny dojde, nicméně zkus ještě tohle:

-I, --ignore-times

V jiném případě bude dobré vytvořit nějaký bashový one-liner ;-).
19.9.2012 22:50 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Tady je ten one-liner kdyby to rsync nepobral. Ale samozřejmě je to bez záruky ;-)

SRC="./VSTUPNI_ADRESAR/" && DEST="./VYSTUPNI_ADRESAR/" && find $SRC -type f -printf "chown -v %u:%g '%p'\n" -or -type d -printf "chown -v %u:%g '%p'\n" | sed "s^${SRC}^${DEST}^" | source /dev/stdin
19.9.2012 22:54 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Jo ještě by se tam měl objevit ten chmod, pokud jsou i práva jinak, ale to už je snadné doplnit.
19.9.2012 22:47 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Odpovědět | | Sbalit | Link | Blokovat | Admin
cd "$B"
find . -exec chown --reference "$A"/{} {} \;
find . -exec chmod --reference "$A"/{} {} \;

Předpokládá se, že

19.9.2012 23:02 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Vypadá to hezky, nezkoušel jsem, ale určitě místo {} použít '{}'.
20.9.2012 07:46 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Ničemu to neublíží, ale potřeba to není.
20.9.2012 13:23 l4m4
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Přijde mi, že konstrukce {...} (bez mezer samozřejmě) jsou v bashi fair game. Takže bych všechny preventivně uvozovkoval, abych se pak v bashi 6.0 nedivil...
20.9.2012 17:45 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: změna vlastníka a skupiny ve stromu.
Zrovna u "find … -exec" je používání '{}' bez escapování natolik rozšířené, že si snad nikdo nedovolí to změnit, protože by to rozbilo obrovské množství skriptů.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.