0

I have a JBOD with a couple of disks in that are mirrored using Disk Utility and have a single partition formatted as HFS+. The purpose of this drive is to hold an iTunes library (sharing to AppleTV) and a couple of directories to share to other Macs around the house.

I’ve previously used one “fileshare” user to share everything around, but would like to have some segregation between the folders being shared to other Macs such that “my” stuff is private to me, and I can’t readily see what other people have on their shares.

I thought this would be easy, but preliminary investigations suggest not—both of my current users seem to think they own the directories. As my “admin” user, I do a ls on the JBOD and get the following:

$ ls -l
total 0
drwx------  20 admin  staff  680  1 Jun 15:07 Ben
drwx------  13 admin  staff  442  8 Mar 20:31 Faye
drwx------  12 admin  staff  408  8 Mar 20:32 Misc Videos
drwxr-xr-x   7 admin  staff  238 10 Apr 11:34 iTunes

As my “fileshare” user, I do the same:

$ ls -l
total 0
drwx------  20 fileshare  staff  680 Jun  1 15:07 Ben
drwx------  13 fileshare  staff  442 Mar  8 20:31 Faye
drwx------  12 fileshare  staff  408 Mar  8 20:32 Misc Videos
drwxr-xr-x   7 fileshare  staff  238 Apr 10 11:34 iTunes

Looking in the Finder “Get Info” details, each user believes that the various directories belong to them and that “everyone” else has “No Access”.

When looking in the Sharing Preferences, each user believes they are sharing the directories: Admin user thinks that they share it

Fileshare user thinks that they share it


System Stats:

  • Mac: Mac Pro, mid-2009
  • OS: Mavericks, 10.9.5 (regular client OS X, no Server installed)
  • JBOD: Hornettek Enterprise 4X II Quad-bay 20 TB Capacity
  • USB 3 card: Inateck 4 Ports PCI-E to USB 3.0 Expansion Card for Mac Pro

The reason I’m “stuck” on Mavericks is that the USB 3 card causes kernel panics on Yosemite.


I know that usually for removable drives you want everyone to access everything, because you might remove the drive and put it into another computer where an owner can't be found, but in this case the JBOD is (to me) seen as an “internal” disk. (As an aside, my internal drive bays are full, hence buying the JBOD)

How can I set permissions on this file system such that only one user owns them and only that user can share them?

Do I need to, in some way, tell OS X to treat this like an internal drive? How might I achieve this?

1

Most of the problems I seem to have with this kind of thing come from the ACL rather than the basic permissions.

Usually what I end up doing to fix the problem is to format another drive to get the default permissions and ACLs then use these commands to copy them to my old drive:

chown $(stat -f%u:%g "$srcdir") "$dstdir" # Copy owner and group
chmod $(stat -f%Mp%Lp "$srcdir") "$dstdir" # Copy the mode bits
(ls -lde "$srcdir"  | tail +2 | sed 's/^ [0-9]*: //'; echo) | chmod -E  "$dstdir" # Copy the ACL

It's possible to use the "Get Info" dialog to apply the changes to all the enclosed items and then start from scratch with setting up the permissions again, this normally fixes things for me.

(Either that or it's the "ownership permissions" toggle in the "Get Info" dialog for the drive.)

  • That was it, simple as flicking a switch I never knew was there! Thanks very much! – forquare Jul 28 '15 at 4:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .