Recursively chmod only directories or files

July 22, 2008 at 3:14 pm

Ever come across the problem of needing to chmod a directory and its many, many, sub-directories, but you don’t want to touch any of the files? Maybe it’s the exact opposite, or you need to recursively change the permissions on only files with a specific extension. Well I had a similar problem with one of the RainSoft Letters server backups.

Luckily, I came across a post on movabletripe that dealt with the problem, as well as having some additional find snippets in the comments. The original article is here: Recursively chmod directories only.

find . -type d -exec chmod 755 {} \;

  • This will “find” all directories, starting at “.“, and chmod them to 755.

find . -type f -exec chmod 644 {} \;

  • This snippet does the opposite and finds only files. The difference (beside the file permissions) is the “-type f“, “f” specifies files and “d” directories.

If you check the comments, you’ll find a few additional snippets:

find . -type f -name '*.htm*' -exec chmod 644 {} \;

  • This lets you “find” files (“-type f“) with a specific extension (“-name '*.htm*'“) and chmod them with your desired permission (“-exec chmod 644 {}“).

chmod -R o+rX

  • This snippet will recursively chmod “other” (“o“) permissions with read/eXecutable (“+rX“), and the capital X ensures that directories and files set (user/group permissions) to executable will be properly modified, while ignoring regular (non-executable) files.

Entry filed under: Administration, Linux. Tags: , , , , , , , .

RainSoft of Ottawa joins RainSoft Letters with two posts Customer letters for Wednesday, July 23rd


RainSoft Photos on Flickr

RSS Unknown Feed

  • An error has occurred; the feed is probably down. Try again later.

RSS RainSoft Letters Feed

  • An error has occurred; the feed is probably down. Try again later.


July 2008

%d bloggers like this: