I need help. I will not be offended if you explain this to me like I am stoooopid - the more detail the better!
I have several archival type files and folders I have created while logged in under a given user ("A"). I intended for these to be generic in use and non-private. I want the ability to allow any logged in user to read & write to the folders. the root folder for this is located off of the main branch (on the same level as "Users" and "Applications").
I have since created a new user ("B"). I tried to add files to these folders but was told that I could not modify the folder. After poking around, I discovered that if I change ownership and permissions to match my user ("B"), I could complete my work. As I have numerous files and folders, I will have to do this hundreds of times - PITA!!! when I attempt this on the root folder and say "Apply to enclosed items", it does not propagate the owner and permission change to all folders within or even the non-folder items directly off of the root folder. I also foresee that the items I have assigned to "B" will not be modifiable by "A" unless I change owners (again).
I already repaired disk permissions, but that did not change the items either.
1.) What owner do I need to assign to allow all loged in users (read as "anyone that logs in as any given current and/or future user") to access the contents? (system?, nobody?, mysql?, unknown?, user A?, user B?, ...)
2.) What access must be assigned to the new owner? ( I assume 'Read & Write')
3.) What group do I need to assign? (admin?, bin?, staff?, wheel?, ...)
4.) What access must be assigned to the new group? ( I assume 'Read & Write')
5.) What access must be assigned to the "Others"? ( I assume 'Read & Write')
6.) Is there a better way to do this other than Cmd+I? I already see that that does not propate to all items. Do I need to use something like NetInfo Manager? or do I need to log in as 'root', or what?
TIA
If I read correctly, you want to set the folder permissions recursively so that they're world readable, writable, executable, the whole nine yards
Assume the directory is called "foo".
Go to Terminal. Type: sudo chmod -Rv 0777 /foo
This also gives a verbose listing of all the files affected. I like to have it, just to assure myself that it did go through.
-BDub
Just to break down this statement, because I hate voodoo commands, and this may look like one if you don't know your Unix/BSD/Linux/OS X
'sudo' - This specifies that the command should be run as a superuser. You'll be prompted for a password the first time you use it, as well as anytime you use it after a timeout period.
'chmod' - Change file modes. You want to change who can access the files.
'-R' - Option to do this recursively. In other words, all the files in all the subdirectories, not just the /foo directory itself, but also /foo/bar and /foo/spam (assuming those files existed within /foo
'-v' - Verbose. Show what files are being changed.
'0777' - Specifies the mode that it's set to. The following is quoted from the chmod man page (available by going to terminal and typing 'man chmod':
You add together all of the modes you want used. In the form 0xyz (not bothering to explain the first zero, as it could technically be dropped from the statement)
x = permissions for owner
y = permissions for files group
z = permissions for others.
Thus '111' means 'everyone can execute'
'222' means 'everyone can write'
444' means 'everyone can read'
Added together we get '777' meaning everyone (owner, group, and others) an read, write, and execute.
'/foo' - The name of the base directory or file to perform this on.
-BDub
That was one of the best quick explanations i've seen in a while. Well done.
Yes, thanks! I could not get the '-v' part to go in as dispalyed above and ultimately dropped it since I did not care to se the very long list. The only errors I got were on files that are read-only anyways, like certain applications and downloaded bits that one can use, but not alter (and that was expected).
Problem solved (for now, I think).