Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

chmod wel op directories, niet op bestanden

None
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

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