Kør Chmod separat for filer og mapper
Hvis du er en Linux-bruger, har du sikkert hørt om konsol-appen chmod. Det er et nyttigt værktøj, som gør det muligt at ændre filsystemtilladelser ved hjælp af en terminalsession eller en terminalemulator. Når du kører det, ændrer det de tilladelser, du angiver på filer og mapper på én gang. Men du skal muligvis ændre filtilladelser separat fra mappetilladelser og omvendt. Her er hvordan det kan gøres.
Der er flere måder at gøre det på, men min favorit og mest pålidelige måde at gøre det på er at kombinere chmod med xrags og Find værktøjer. Den følgende kommando vil kun ændre tilladelserne for filer.
find /sti/til/sted -type f -print0|xargs -0 chmod 644
Her er Find kommandoen viser alle filerne på den angivne placering. Switchen -type f fortæller den kun at vise filer og udelukke mapper. Switchen -print0 tillader behandling af filnavne på en måde, så fil- eller mappenavne, der indeholder mellemrum eller nye linjer, håndteres korrekt.
En lignende passende kommando kan også bruges til mapper. Den eneste del du skal ændre er -type f til -type d:
find /sti/til/placering -type d -print0 |xargs -0 chmod 755
Tip: Du kan spare din tid og skrive mindre ved at bruge dette trick.
- Anvend først filsystemtilladelser til filer og mapper ved at køre chmod i rekursiv tilstand:
chmod -R 644 /sti/til/sted
Det vil anvende rw-r-r-tilladelser til alle filer og mapper på den angivne placering.
- Udfør derefter kommandoen kun for mapper:
find /sti/til/placering -type d -print0 |xargs -0 chmod 755
Det er det.