Applicera "umask" på en katalog och dess innehåll.

Permalänk
Medlem

Applicera "umask" på en katalog och dess innehåll.

Kanske låter lite konstigt.

Men jag har en stor mapp med underkataloger olika filer i.
Dessa har tyvärr blandade rättigheter vilket jag inte vill ha.

Men jag skulle vilja ge alla undermappar chmod 755 och alla filer 644.

Detta är även min default-umask.

Hur gör jag detta smidigast? Det är en jäkla massa mappar och filer, så det är inget man gör manuellt.

Mvh John

Permalänk
Medlem

Är för trött för att kolla upp själv, men;

# man chmod

bör hjälpa dig.

Permalänk
Medlem

Hmm, har läst. Men det kom inte till någon hjälp dock.

Finns det inget man kan göra så att rättigheterna enbart fastnar på mapparna?

Isåfall skulle man ju kunna köra chmod 644 /mapp. Och sedan chmod 755 [?] /mapp. Aja, ni fattar... =/

Permalänk
Medlem

om man nu har lite smidiga fil/dir namn så kan man alltid göra detta mycket smdigt med lite cli magi

$ chmod -R 755 dir && find dir -type f | xargs chmod 644

kan tänka mig att plast-unix har någon växel till chmod som säger att den endast skall göra X på mappar eller Y på filer etc, men sådant finns inte på riktiga OS

/me tar på sig eldsäkra kläder

Permalänk
Medlem

Hmm ledsen att behöva säga det, men det gick inte... =/
Det verkar inte funka med mappar & filer som har mellanslag i namnet.

Permalänk
Medlem

"om man nu har lite smidiga fil/dir namn så kan man alltid göra detta mycket smdigt med lite cli magi" om man nu inte har det får man lida lite eller så lägga ner mer energi på lite sed magi än jag känner för just nu

Permalänk
Hedersmedlem

chmod -R 644 stormapp
chmod -R a+X stormapp

Fäääääääärdig, kom och torka!

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Zyphoon
Hmm ledsen att behöva säga det, men det gick inte... =/
Det verkar inte funka med mappar & filer som har mellanslag i namnet.

Citat:

-X Permit find to be safely used in conjunction with xargs(1). If a
file name contains any of the delimiting characters used by
xargs, a diagnostic message is displayed on standard error, and
the file is skipped. The delimiting characters include single
(`'') and double (`"') quotes, backslash (`\'), space, tab, and
newline (`\n') characters. Alternatively, the -print0 primary
may be used in conjunction with the -0 option to xargs(1), allow-
ing all file names to be processed safely.

Permalänk
Medlem

Eller om du vill ha ett alternativ, chmod -R 644 <mapp> && find <mapp> -type d -exec chmod 755 {} \;

Alternativ är bra, även om Aphex metod är bra mycket vettigare.

Permalänk
Hedersmedlem

Alternativ var det ja...

find <katalog> -type f -exec chmod 644 '{}' \; -o -type d -exec chmod 755 '{}' \;

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Aphex
chmod -R 644 stormapp
chmod -R a+X stormapp

Fäääääääärdig, kom och torka!

enda nackdelen är att detta lämnar hela mapstrukturen oanvändbar tills allt är klart, inte riktigt vad jag personligen gillar på skarpa saker iaf

Permalänk
Medlem

chmod a=rX,u=rwX -R <mapp>