Is there any way to apply appropriate permissions recursively? Can it be done with chmod?
May 3, 2004 12:42 PM   Subscribe

I backed up my /library/webserver/documents folder to a firewire HD. When I dragged it back, the permissions went all kablooey:

drwxr-xr-x 36 root admin 1224 16 Jan 16:58 Documents

sudo chmod 755 Documents does not give groups write privileges.

1. Do I just need to go read a good chmod tutorial, or is something aberrant happening here?

2. Is there any way to apply appropriate permissions recursively?

Many thanks.

More info: permissions on user accounts are goofy too, so that users can't upload to their (OS X) sites directories or sub directories, and I am trying to avoid having to manually reset them all.
posted by mecran01 to Computers & Internet (8 answers total)
 
firstly, drwxr-xr-x means that it already has '755' permissions. This specific element prolly isn't your problem.

If you want to recursively apply permissions, use the -R flag.

chmod -R 755 will recursively apply rwx for owner and rx for group/world.

chown works with the same flag: chown -R user:group

posted by n9 at 12:53 PM on May 3, 2004


Instead of doing the slightly goofy octal math for permissions, you can also do chmod g+w to add write permissions for group. It basically works like [ugoa][+-][rwx], where u: user, g: group, o: others/world; + adds, - removes permission; r is for reading, w is for writing, and x is for executable. You can also stack things like doing chmod ug+rw to add write and read permissions for both user and group.
posted by zsazsa at 1:06 PM on May 3, 2004


If you want the group to have 'w' permission, you're looking for chmod -R 775

Think of each digit as a column:
    Owner  Group  Everyone-else
1   r        r        r
5   rw       rw       rw
7   rwx      rwx      rwx
Then pick the numbers you want for each column.
posted by majick at 1:07 PM on May 3, 2004


Oops. Forgot to close my <tt> tag.
posted by zsazsa at 1:07 PM on May 3, 2004


argh.

"5" should be rx across there and "1" should say "4". Sorry. I got caught up making the pretty chart.
    Owner  Group  Everyone-else
4   r        r        r
5   rx       rx       rx
7   rwx      rwx      rwx

posted by majick at 1:09 PM on May 3, 2004


Response by poster: !!

This thread goes into my permanent bookmarks. Thanks so much, it worked great! You should all be technical writers. No, wait--you deserve more money than that.
posted by mecran01 at 1:22 PM on May 3, 2004


To add one detail to zsazsa's post, you can also use = as the operator to set the permissions equal to whatever you want. Ex/ chmod u=rwx,og=rx foo/
posted by thebabelfish at 1:59 PM on May 3, 2004


To add another, you can use g+X instead of g+x to add execute permission for groups only to directories and to files that have the user- or other-execute bit set, rather than unnecessarily to all your documents. When I want to recursively set 775 I do

  chmod -R a+rX,ug+w,o-w dirname
 
posted by nicwolff at 2:23 PM on May 3, 2004


« Older All-you-can-eat   |   How do I share the internet from my desktop to my... Newer »
This thread is closed to new comments.