One side effect of the iTunes 11.2 update on Thursday, May 15th 2014 has been that some but not all Macs were seeing the /Users and /Users/Shared folders disappear.
The permissions on the /Users folder were also changed to be world-writable, so that anyone could read and write to the /Users folder.
Update – 5-16-2014: Apple has released iTunes 11.2.1 to fix this issue. It’s available via Apple’s Software Update or from the main iTunes download site.
After installing iTunes 11.2.1, I’ve verified that I can re-enable Find My Mac and not have /Users or /Users/Shared vanish. The permissions on /Users were also still correct following the installation. To verify that the fix sticks, I rebooted several times and observed that the visibility and permissions for /Users and /Users/Shared stayed what they should be.
After considerable investigation by the folks in the ##osx-server IRC room, it looks like the issue has been tied to two causes:
1. iTunes 11.2 being installed
2. iCloud’s Find My Mac being enabled.
The 10.9.3 update does not seem to be the root cause, as the behavior has also been reproduced on 10.9.2 with iTunes 11.2 and Find My Mac enabled.
To fix this issue if you’re seeing it:
1. Open System Preferences
2. Open the iCloud preference pane
3. Check if Find My Mac is enabled.
4. If Find My Mac is enabled, uncheck it to disable it.
5. Run the script below
What this script does is look for the /Users and /Users/Shared directory. If found, the directories are unhidden. A permissions repair is then run using the diskutil command to fix the world-writable permission issue for the /Users directory.
Note: The permissions repair may take up to 10 minutes to run.
Once the script is run, the /Users folder should be visible again.
It is important that Find My Mac be disabled before the permissions fix is run and also that Find My Mac remain disabled. If Find My Mac is re-enabled, the /Users and /Users/Shared folder will disappear again and /Users will revert to being world-writable.
My understanding is that Apple is aware of the issue and working on it. Hopefully a fix appears quickly.
The script is also available on my GitHub repo:
A payload-free package containing the script is also available there, to help automate running this script.