Vraag & Antwoord

OS Linux

chmod wel op directories, niet op bestanden

6 antwoorden
  • Is het mogelijk om een chmod uit te voeren die wel de mode van directories zet, maar niet die van bestanden? Nu voer ik bijvoorbeeld chmod -R 660 * uit, terwijl ik bij de directories chmod -R 770 * wil. Ik zie nu geen andere mogelijkheid dan handmatig de hele directorystructuur aflopen óf programmeren. Ik mis eigenlijk een schakeloptie bij chmod waarbij je op directories kunt selecteren. Is hier een oplossing voor?
  • Dat kan door een klein scriptje te gebruiken: [code:1:d15f7cb97d] for i in /home/user/*; do if [ -d "$i" ]; then chmod 770 "$i" else chmod 660 "$i" fi done [/code:1:d15f7cb97d] Dit kun je gewoon zo op de promt intikken en dan wordt elke dir of file binnen /home/user bekenen. Als het een dir is dan krijgt hij een 770 en anders een 660.
  • find . -type d -exec chmod 770 {} \; Sjaak
  • Bedankt voor de reacties! Hoe kan ik ervoor kiezen om wel/niet in de subdirectories af te dalen? (Net zoals chmod -R 660 * versus chmod 660 *)
  • je kunt ook de X operator gebruiken. Die zet enkel de execute bit bij directories: [b:6a51dd1dc2]chmod -R ug=rwX .[/b:6a51dd1dc2] (Zie man chmod)
  • [quote:717a531d46="Peter Willemsen"]Bedankt voor de reacties! Hoe kan ik ervoor kiezen om wel/niet in de subdirectories af te dalen? (Net zoals chmod -R 660 * versus chmod 660 *)[/quote:717a531d46] Alleen de bestanden en dirs in huidige dir kan met [b:717a531d46]chmod ug=rwX *[/b:717a531d46] Wil je ook afdalen in andere dirs (en ook de huidige dir meenemen): [b:717a531d46]chmod -R ug=rwX .[/b:717a531d46] Wil je de huidige dir zelf niet meenemen, maar wel afdalen in subdirs: [b:717a531d46]chmod -R ug=rwX *[/b:717a531d46] Let op: de * neemt niet files en dirs mee die met een . beginnen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.