Ignore Ownership On This Volume, unchecked, still ignores ownership

I have an external 500 GB Seagate drive connected via Firewire. When I first started using it, I had the option "Ignore ownership on this volume" checked. I then wanted other people to be able to use my computer via fast user switching, but I wanted to restrict access to that drive, so I unchecked that option. I set the permissions to be read/write for me, read-only for staff, and read-only for everyone. I then used the option to "Apply to enclosed items." It took many seconds to complete the operation, but it doesn't appear to have worked. When I look at individual files and folders, the permissions are correct, but when I switch to another user, the files and folders show up as being owned by that user and therefore writeable.

Any ideas?

iMac Core Duo 2GHz, Mac OS X (10.5.6)

Posted on Feb 12, 2009 3:07 AM

Reply
12 replies
Sort By: 

Feb 12, 2009 3:18 PM in response to zoobieboots

You might try using the Terminal command vsdbutil to look at the status of the volume status DB.

Check the status of your root volume:
*vsdbutil -c /*

Check the status of another volume:
*vsdbutil -c /Volumes/myvolname*

Activate on-disk ownership:
*sudo vsdbutil -a /*

Deactivate:
*sudo vsdbutil -d /*

Reinitialize the ownership database to include all mounted HFS+ volumes:
* sudo vsdbutil -i*

I would start with a check, then an activate if it shows on, a deactivate then an activate if off.

If that doesn't work, try the initialize.
Reply

Feb 12, 2009 3:41 PM in response to kpatten

OK, weird. I noticed while in a root shell (sudo su -) that the files and folders showed up as unknown:unknown so I did

cd /Volumes/500G
chown -R <myuid>:staff *
chown <myuid>:admin .

I also removed all the .DS_Store files, just in case that had something to do with it (although I should have checked to see if the chown by itself fixed it so I could have written a better answer here):

find . -name .DS_Store -exec rm {} \;

I also set the owner/group of these files and folders manually as <myuid>:admin
.Spotlight-V100
.Trashes
.com.apple.timemachine.supported
.fseventsd

and this one as <myuid>:staff:
.TemporaryItems

** Any idea what the proper permissions should be? (I could see an argument for .Trashes being owned by group staff also)

I rebooted the machine to make sure it kept the permissions upon remounting and it did.

I don't know if this is the best solution, but it appears to have worked.
Reply

Feb 13, 2009 8:12 AM in response to zoobieboots

It appears the proper behavior for "Ignore ownership" is to display the UID and GID for the active user account.

However, using ' ls -lna as root gives this result:


drwxrwxrwx+ 17 501 20 646 Feb 13 10:29 .
drwxrwxrwt@ 6 0 80 204 Feb 13 10:17 ..
-rwxrwxrwx@ 1 99 99 6148 Feb 13 10:10 .DS_Store
drwxrwxrwx+ 3 99 99 102 Feb 11 15:32 .Spotlight-V100
drwxrwxrwx@ 5 99 99 170 Feb 12 14:44 .TemporaryItems
drwxrwxrwx@ 5 99 99 170 Feb 12 16:53 .Trashes
-rwxrwxrwx 1 0 99 0 Jan 13 16:00 .com.apple.timemachine.supported
drwx------+ 5 99 99 170 Feb 13 05:52 .fseventsd


Not the UID and GID of root, rather the UID and GID for user and group ' _unknown'.

The _unknown owner and group in a root shell appears to be normal operation for a volume with "Ignore ownership" set. From my environment as root with ' ls -la':


-rwxrwxrwx@ 1 _unknown _unknown 6148 Feb 13 10:10 .DS_Store
drwxrwxrwx+ 3 _unknown _unknown 102 Feb 11 15:32 .Spotlight-V100
drwxrwxrwx@ 5 _unknown _unknown 170 Feb 12 14:44 .TemporaryItems
drwxrwxrwx@ 5 _unknown _unknown 170 Feb 12 16:53 .Trashes
-rwxrwxrwx 1 root _unknown 0 Jan 13 16:00 .com.apple.timemachine.supported
drwx------+ 5 _unknown _unknown 170 Feb 13 05:52 .fseventsd


With the local administrator user:


drwxrwxrwx+ 17 administrator staff 646 Feb 13 10:29 .
drwxrwxrwt@ 6 root admin 204 Feb 13 10:17 ..
-rwxrwxrwx@ 1 administrator staff 6148 Feb 13 10:10 .DS_Store
drwxrwxrwx+ 3 administrator staff 102 Feb 11 15:32 .Spotlight-V100
drwxrwxrwx@ 5 administrator staff 170 Feb 12 14:44 .TemporaryItems
drwxrwxrwx@ 5 administrator staff 170 Feb 12 16:53 .Trashes
-rwxrwxrwx 1 administrator staff 0 Jan 13 16:00 .com.apple.timemachine.supported
drwx------+ 5 administrator staff 170 Feb 13 05:52 .fseventsd


With another, non-admin, user:


drwxrwxrwx+ 17 dmisco cosxdef 646 Feb 13 10:29 .
drwxrwxrwt@ 6 root admin 204 Feb 13 10:17 ..
-rwxrwxrwx@ 1 dmisco cosxdef 6148 Feb 13 10:10 .DS_Store
drwxrwxrwx+ 3 dmisco cosxdef 102 Feb 11 15:32 .Spotlight-V100
drwxrwxrwx@ 5 dmisco cosxdef 170 Feb 12 14:44 .TemporaryItems
drwxrwxrwx@ 5 dmisco cosxdef 170 Feb 12 16:53 .Trashes
-rwxrwxrwx 1 dmisco cosxdef 0 Jan 13 16:00 .com.apple.timemachine.supported
drwx------+ 5 dmisco cosxdef 170 Feb 13 05:52 .fseventsd


I have some ACL's set, so ignore the ' +' characters, they are non-standard. The rest is set to default permissions, owner and group.

The work-around you have seems fine, but you may have some problems down the road as it is not the standard "Ignore ownership" configuration.
Reply

Feb 26, 2009 9:19 AM in response to kpatten

Try using the following - should resolve your _unknown user issue.


hdiutil attach -owners on SOURCE -mountpoint MOUNTPOINT
fsaclctl -p MOUNTPOINT -e

Example:
hdiutil attach -owners on ~/disk.dmb -mountpoint /Volumes/mydisk
fsaclctl -p /Volumes/mydisk -e
Reply

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Ignore Ownership On This Volume, unchecked, still ignores ownership

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.