Portál AbcLinuxu, 25. dubna 2024 03:07


Dotaz: Hromadne nastaveni prav

2.5.2004 15:28 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
Hromadne nastaveni prav
Přečteno: 395×
Odpovědět | Admin
Mam trapny dotaz. chtel bych nastavit v aresari a podadresari prava, a to tak aby adresare a podadresare byly cteci a spousteci a soubory pouze cteci. Kdyz jsem pouzil chmod -R, nastavil jsem prava tak jak jsem chtel, ale neumim rozlisit adresare.

aresare drwxr**r** soubory *rw*r**r**

Asi se to dela nejakym skriptem. Hoj
LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.5.2004 15:39 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Odpovědět | | Sbalit | Link | Blokovat | Admin
find <adresar> -type d -print0 | xargs -0 chmod 744, resp. find <adresar> -type f -print0 | xargs -0 chmod 644
Užívej dne – možná je tvůj poslední.
2.5.2004 15:48 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Diky, ale jestli to dobre chapu, tak musi znat jmeno adresare. Bohuzel tech adresaru je tam fura a ja je potrebuju zmenit vsechny. Takze asi nejake if [ -d ...] then.

Ale jak.
LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
2.5.2004 16:05 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Nechápeš to dobře, find -type -d vypíše všechny adresáře v adresář, find -type f všechny soubory (viz find(1)). Přepíšu to na dva řádky
find adresář -type d -print0 | xargs -0 chmod 744
find adresář -type f -print0 | xargs -0 chmod 644
2.5.2004 16:07 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Jasne. Mockrat dekuju.

Jindra
LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
Josef Kufner avatar 2.5.2004 22:07 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
jednoduseji:
find adresář -type d -exec chmod 744 {} \;
find adresář -type f -exec chmod 644 {} \;
-exec spousti prikaz pro kazdy nalez a {} se nahradi nazvem souboru. \; ukoncuje prikaz pro -exec
Hello world ! Segmentation fault (core dumped)
2.5.2004 23:04 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Néééé! Tohle asi nikdy neskončí... Co je jednoduššího na spouštění chmodu pro každý soubor a adresář zvlášť? -exec je nouzové řešení pro případ, kdy nelze něco matchnout optiony findu nebo použít xargs nebo to jinak prohnat rourou pěkně všechno naráz.
4.5.2004 09:06 Yenda | skóre: 8
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Tomu vůbec nerozumím. Předpokládal jsem, že xargs si vezme z roury vždycky jeden parametr (název adresáře) a pro ten spustí chmod. Čili stejně jako by to dělal find -exec. Kde je rozdíl?
5.5.2004 10:06 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
Xargs spustí jeden chmod, a jako jeho parametry to co je na stdin.

Pokud je parametrů *opravdu* hodně (limit na délku příkazové řádky), tak se to rozdělí, ale stejně to je jako blok po mnohem větších kusech.
2.5.2004 18:49 fish | skóre: 22
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
pripadne prehledneji:
chmod 644 -R adresar
chmod u+X -R adresar
2.5.2004 20:43 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
+X je záludné.

To je nicméně ten menší problém, protože už první krok změní nejprve práva adresar na 644, takže když do něj vzápětí bude chtít vlézt a změnit práva věcí uvnitř, už se mu to nepodaří ;-D
3.5.2004 17:21 fish | skóre: 22
Rozbalit Rozbalit vše Re: Hromadne nastaveni prav
no jo no :-/ ... nejak jsem to nezkousel jako normalni user

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.