Problem with this command is that it removes
all ACLs from the directory, which can cause other, hard to figure out problems. For example, there is an ACL on ~/Public/Drop Box which sets it up so that any file/folder copied into it will give the owner of the drop box Read&Write privs. Without that ACL, if someone sends you a file and puts it in your Drop Box, you won't be able to do anything with it other then read it. A common problem reported on this board.
Also, the 'everyone deny delete' entry has a specific purpose. Its to prevent people from trying to delete/rename/move folders that are required by the OS. Do a quick search through the Tiger and previous OS boards for how many people tried to rename their home directory or move it to another volume. That is what that ACL is designed to prevent. Yes, there is a bug in the Info Window's Apply To Enclosed function that will propagate that ACL down to all your files/folders in your home directory, but it is easy enough to fix.
A better solution, instead of blindly hitting your home directory with a sledge hammer without really knowing what the cause of your problem is, would be to run the Reset Password util on the Leopard Install DVD to reset the permissions/ACLs on your home directory back to what they should be, or running a couple simple chmod commands in Terminal. I would recommend the Reset Password util to those who don't feel comfortable with Terminal. Either way, here's how you do it:
1) boot from your Leopard install CD.
2) Choose your language.
3) When the menubar appears, select Utilities->Reset Password.
4) In the window that appears, select your boot volume from the list at the top.
5) In the popup button below the volume list, select your user from the list.
6) Click the "Reset" button at the bottom of the window. This will reset the privs back to their default settings.
7) Repeat Steps 5 & 6 for every user on your machine who has this problem (except root).
That should clean things up.
Here is how you would reset the privs in your home directory back to the default settings (what they were when the user was first created) via Terminal. Note this does not change the permissions (other then removing the 'everyone deny delete' ACL) for the contents of the folders in your home directory. That can also be done via Terminal, but I'll save that for another post.
*sudo chmod -R +a "everyone deny delete" ~/* +Note: 'sudo' will cause it to ask for your admin password, but when you type it will not show the text. This is normal. Just make sure you type your password correctly. This command will add the 'every deny delete' ACL to everything inside your home directory. This is done so that the next command will succeed. If the next command encounters a file/folder that doesn't have this ACL on it, it will fail and bail out, ultimately leaving your home directory half fixed.+
*sudo chmod -R -a "everyone deny delete" ~/* +Note: This will remove the 'everyone deny delete' ACL from all files and folders in your home directory, the next command will add it back to where it needs to be+
*sudo chmod +a "everyone deny delete" ~/ ~/Desktop ~/Documents ~/Downloads ~/Library ~/Movies ~/Music ~/Pictures ~/Public ~/Sites* +Note: This only applies the 'everyone deny delete' ACE to the folders listed, not their contents. These folders are required by the system, this ACE prevents you (or anyone else) from renaming, moving or deleting them (because they are required by the OS).+
*sudo chown -R <your username>:staff ~/* +Note: This will make you the owner of everything inside your home directory and staff (a group consisting of all the admin users on your machine) the group.+
*sudo chmod 755 ~/ ~/Public ~/Sites* +Note: This will set your home directory, Public and Sites directories permissions back to what they were when you first created your user. It gives you Read&Write access, the group (staff) Read Only, and Everyone else Read Only access.+
*sudo chmod 700 ~/Desktop ~/Documents ~/Downloads ~/Library ~/Movies ~/Music ~/Pictures* +Note: This will set these folders permissions back to what they were when you first created your user. This gives you Read&Write access, and the group (staff) and everyone else No Access.+
*sudo chmod +a "<your username> allow list,add
file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr, writeextattr,readsecurity,writesecurity,chown,file_inherit,directoryinherit" ~/Public/Drop\ Box* +Note: This adds the ACL onto your Drop Box that I described above. There are no spaces after the comma's on purpose. If you add extra spaces you'll get an error that the ACL isn't recognized.+
Just copy/paste the bold text, one at a time, into a Terminal window and press return. That should do it. Good luck...
Message was edited by: petrock