Rekurzivni chmod

Dan Lukes dan at obluda.cz
Sun Sep 26 12:44:37 CEST 2010


On 09/26/10 12:15, Kaminar:
> Kdyz jsem na to narazil, tak bych se pri te prilezitosti zeptal,
> jestli neexistuje na FreeBSD moznost primontovat CD/DVD s Joliet, tak
> aby obycejne soubory nemely prava "x".

O takove moznosti nevim, ale, v zavislosti na tom o co ti jde by resenim 
mohlo ale nemuselo byt pouziti noexec/nosuid optionu pri mountu.

> Chmod -R sice nerozlisuje obycejne soubory od adresaru, ale velke "X"
> tuto diferencni vlastnost ma.

Jen castecne - plati to v pripade, ze soubor pred zapocetim operace x nema.

> Jedine co me napada, je me zadani vyresit pomoci chmod tak, ze v
> druhem kroku jsou nutna prava roota.
>
> $ chmod -R u-x,go= adr
> # chmod -R u+X adr

A proc by mela byt nutna prava roota ? Psal jsi, ze prava meni vlastnik.

>> find /path/to/adr -type f -print0 | xargs -0 chmod 600
>>
>> find /path/to/adr -type d -print0 | xargs -0 chmod 700
>
> Ano, toto je asi obecne nejefektivnejsi reseni. Ja bych ale asi pouzil
> variantu s -exec
>
> $ find adr -type ... -exec chmod ...
>
> A proto me to neda se nezeptat, jak se co do efektivnosti budou lisit
> pristupy find s -exec a find + xargs?

Znacne, i kdyz absolutni rozdil bude hodne zaviset na poctu memenych 
souboru a hardwarove konfiguraci pocitace. V pripade "exec" pro KAZDY 
nalezeny soubor spoustis chmod - to jest pro kazdy provadis fork a exec, 
parsing parametru a pak vlastni zmenu. V pripade "xargs" provadis pro 
kazdy soubor jen vlastni zmenu - fork,exec i getopt se provadi jen 
jednou vzdy pro pomerne velkou skupinu souboru.

						Dan


More information about the Users-l mailing list