Hard-Linked External HD's and File Sharing Permissions hosted on OSX Virtual Machines
This specifically relates to VM file shares stored on an external hard drive that is plugged into the VM Host machine.
That hard drive is then Hard-linked to a specific VM, (in this instance it's a Yosemite Server VM) so that it loads natively on the Virtual Machine upon boot.
The issue is that Users cannot access the shared files hosted on OSX Yosemite Server VM
Permissions are set correctly within the Server.app and the users are granted access
I have come across this on multiple occasions and the main issue I have seen, is that if you are hosting Shared Folders on the VM through the external hard drive, permissions will not work correctly for users. The Shared Folder will have all the permissions displayed correctly within the Server.app itself but all attempts to login as a permitted user fail.
For me, this has been a result of of the "Ignore Permissions" check box that can be found by following the steps below:
Right-click on the External HD--> Get Info --> Very Bottom --> Unlock the lock with an Admin User account
Ignore permissions should be unchecked in this box, and if you make this change you must reboot in order for everything to behave as expected.
Once rebooted, you need to check to make sure the permissions are correct for that share within the Server.app
Open Server.app--> Click on the Server name at the top left--> Click on Storage --> Then drill into the root of the shared folder you are sharing.
Make sure the Permissions are set correctly.
Once they are correct you want to propagate those permissions down through the sub-directories.
Click on the Gear at the bottom--> Select Propagate Permissions.
Once that finishes, you will again want to restart the machine.
After the restart completes, test logging into the File Share as a permitted user.
Oddities that have come up for me:
If you are Storing your Server Data (this is set within the Server.app Storage area as well) on an external drive, you may run into Permissions Issues as well.
Again, you will want to get to the "Get Info" tab for the drive housing the data.
You will again want to unlock the "Lock" icon using an Administrator Account.
This time the checkbox is different: "Ignore ownership of this Volume"
It is important that this one be "Checked" because otherwise Server.app will be unable to write to this device.
The reason for this is because the External Drive's owner is actually the VM Host machine.
**It is important to note that if you are storing the Server.app Data and hosting a file share on the same drive that you have this "Ignore ownership on this volume" checked. ***
Another Strange instance:
Regardless of either Ignore Permissions or Ignore Owner is checked and there are still issues connecting to the file share. To get around this, I have listed some steps below:
Shutdown the VM
On the VM Host machine, make sure the Hard Linked HD is remounted on the Host. (You may have to manually mount it from Disk Utility)
Go to the Get Info section of that drive
Try doing the opposite of what is set in the Ignore Permissions/Ignore Owner checkbox (if it's checked, uncheck it. If's not checked check it.)
Restart the VM.
Test to see if you can access the File Share as a Permitted User.
I have had issues with this working exactly the same with similar setups and only by trying the opposite of what is already set I have I gotten it to work.
***There have been instances where I've had to reboot the VM Host after making a change as well.
***Once a change is made on the VM Host side with the hard-linked drive, you may even have to go through and propagate the permissions within the Server.app
Unfortunately, I have not found a definitive path that works in all instances. If and when I do, I will make sure and update the article.