OSX Rights management (inherit ACL)

Started by Jens0079, January 20, 2016, 04:08:18 AM

Previous topic - Next topic

Jens0079

Since I'm searching for this problem many month now I like to ask you about it.

My System: OSX El Capitan no Server
I have a folder "Pictures" with all my pictures in it organized in subfolers. My family should have read access to this files.

       
  • I generate a new group "family" put all my family members and me in it.
  • I go to the folder "Pictures" applied this group on it and say they have read access.
  • I applied it on all subfolders and files.
  • All my family members have read access. But...
When copy a new file elsewhere in "Pictures" it get the group rights for "family". My problem is when Lightroom copied a file to "Pictures" it does not have the rights for family. So because I have no server, I have to apply some terminal code on "Pictures" that all content inherit the rights from this folder. In Server you could do this by GUI but not in the non server. This are ACL rights not the standard POSIX rights in OSX.



Can someone help what I have to apply on "Pictures" by Terminal?
macOS Sierra

Phil Harvey

I'm not clear on the exact details of your problem, but maybe allowing group reads may do it. So  the Terminal command could be something like "chown 755 FILE"

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Jens0079

I was hopeful that you could help me because you are on Mac too.

What you write are the standard Unix POSIX rights I think. OSX and other systems has extended rights management allowing you many more than rights for the owner, the main group of the owner and others. I think you know this and many more, so please excuse me.

So what I'm trying to do is I will inherit the ACL (access control list) for the main folder "Pictures" This will affect all files that you put after this in this folder. They will inherit the ACL rights from the main folder. But on OSX you have no GUI to do that. Maybe programs like Tinketools has a GUI for that. OSX Server has a GUI for that too. So because of the inherit function for ACL rights are disabled by default in OSX, I have to enable them by Terminal. But what is the command? I was searching so long for the right management in OSX.
macOS Sierra

Alan Clifford

If you look at

man chmod

there is a section on acl inheritance and manipulation.

This is not something I use so I can't help further.


Phil Harvey

Sorry, I don't have any experience with extended rights on OS X.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Jens0079

Thanks to you. I will try to understand the man pages.
macOS Sierra

fabiosirna

Hi Jens,
under OSX you have to move the library under

/Users/Shared

From the terminal try with ls -la to get something like:


fabio@null:~$ ls -la /Users/Shared
total 4
drwxrwxrwt  8 root   wheel  272 25 Apr 11:14 .
drwxr-xr-x  6 root   admin  204 22 Mar 09:32 ..
drwxrwxrwx  4 fabio  wheel  136 27 Feb 18:18 Pictures



Pictures should have permission group wheel.

If you move the library on an external hard disk the group should be staff.

For example:
drwxr-xr-x    6 fabio  staff      204 10 Apr 15:46 Pictures

mine have permission 755 for folders and 644 for files.

If you see a @ at the end, for example:
drwxr-xr-x@    6 fabio  staff      204 10 Apr 15:46 Pictures

this means that that folder has extended attributes.

I had some trouble in past with that and if you what to remove you can run:

chmod -RN *; xattr -rc *

Please DO A BACKUP FIRST, and run on test folders before try this commands on your image archive.

Hope this helps.