How to repair permissions after removing the "wheel" group from my hard drive?

Is there a command in Single User Mode to recover/reinstall the start-up wheel (with root its user access).

I removed wheel as a group from any file/folder it had permissions for or access to. I didn't just change the permission, I actually clicked the (-).

enter image description here

I thought it was a hipster nickname for an actual user from the previous owner. Stupid, I know.

The problem is that without the start-up wheel, literally every reboot, restart, recover attempt gets hung up at the screen with the Apple and the spinning wheel. The only mode or screens I can access are Single User or Verbose (which can't reboot) because they are the only two that don't run through the traditional start-up path (spinning wheel).

I've tried every key +power button combo listed anywhere. No safe mode, no recovery, no boot from another drive...nothing.

System specs:

MacBook Pro, Mac OS X 10.6.8


This not-really-an-answer answer probably doesn't solve your problem, though the result is so astounding/interesting not to dump it in the comment section:

I set up a virtual machine with Snow Leopard Server (10.6.8). After deleting (not just disabling rwx!) all wheel group permissions of /bin, /sbin, /private, /System and all subsequent files and folders as well as those of all relevant folders in /Library with either an admin or the root account and afterwards totally removing the group wheel with the workgroup manager, the system still boots properly. Some apps don't work properly (e.g. Terminal in the admin account; it still works in the root account).

Consequently I can't reproduce your problem.

You may try the following in Single User Mode:

At the prompt enter:

/sbin/fsck -fy
/sbin/mount -uw /
launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.diskmanagementd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.securityd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist
diskutil repairPermissions /

If the loading of com.apple.configd.plist doesn't find an end you may just enter launchctl load /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist or after entering ctrlC continue with launchctl load /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist

If you don't get a new prompt :/ root# after waiting some time, you may just enter the next command. You may also modify the sequence of the five load commands. I needed three attempts to get that working.

You should now see a wall of notifications. It should take about 20-30 minutes to repair everything.


Don't worry, your data isn't lost!

That just happened to me as I stupidly deleted the wheel group permission to my hard drive and would get a black screen just after opening my session. Here is how I fixed it:

  • cmd + R on system startup
  • Reinstall Mac OS X

When finished, you will get your hard drive permissions back and will be able to log in with your personal user again, just like all of this didn't happen.

I'm on El Capitan but I don't think it matters.


After an entire day, we've gotten it done! I made some changes. I left out config, I implemented the kextd.plist(like you suggested) and ended with /usr/libexec/repair_packages --repair --standard-pkgs(I got that from another post here, somewhere?), instead of diskutil repairPermissions /. diskutil just kept hanging. The final order was as follows:

fsck -fy
mount -uw
launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.DiskManagementd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.securityd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.DiskArbitrationd.plist
/usr/libexec/repair_packages --repair --standard-pkgs
exit

Everything went perfectly and I am now sending this message from my newly restored MacBookPro!