Change "ignore ownership on this volume" from the command line for Mac OS X volume
Solution 1:
You use diskutil
for that. See diskutil(1)
under enableOwnership and disableOwnership. Note that this setting is specific to a particular operating system installation, since it is stored in /var/db/volinfo.database
. I.e., if you copy the disk image to a new computer the setting won't persist, but it does persist across reboots, mounts, umounts, etc. all on a single computer.
Use diskutil
to find the identifier, then change the option:
$ diskutil list
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: Disk Image *41.0 MB disk2
$ sudo diskutil enableOwnership disk2
File system user/group ownership enabled
Solution 2:
I found that both answers worked for enabling ownership in way that is remembered:
sudo diskutil enableOwnership <diskname>s<slicenum>
And:
vsdbutil -a /Volume/<volname>
However, the opposite is not true, at least on OS X 10.11.3:
sudo diskutil disableOwnership <diskname>s<slicenum>
And:
vsdbutil -d /Volume/<volname>
Both temporarily change the state, but ownership is re-enabled next time I mount the volume. This appears to be a bug in the operating system. Fortunately I found a solution that works. Eject all external disks that you want to disable ownership for. Then delete the appropriate database using:
sudo rm /var/db/volinfo.database
Solution 3:
Use vsdbutil
to set it for a path instead of a physical drive:
vsdbutil -a /Volume/Diskname
Although the man
page suggests it is deprecated, the man
page for diskutil
still refers to it and the mechanism appears to be based on Volume UUIDs
not on physical disk/slice ids.