sudo chmod -R 777 /

I did this. It was a mistake. Is there any way to undo it?

Basically it's messed up more things than I can list. I don't have time-machine enabled on my mac.

  • Serious question man, is there any way to undo it. – Casey Flynn Jun 22 '11 at 18:07
  • 3
    777 permissions are almost never the answer to any permissions problem. It might get you past a hiccup, but it is seldom a good idea, even when restricted to a directory deep in your disk system. It is a catastrophe when applied to all files and directories under root, not least because it attempts to remove SUID bits from programs such as 'sudo' that need them. Don't do it again! (Many Unix users can regale you with a story of an analogous mistake; I won't bother you with mine, but the backups of the system saved the day, and it wasn't me who typed the command that achieved the rm -fr /.) – Jonathan Leffler Jun 22 '11 at 18:20
  • 2
    Let this be a lesson to everyone about why sudo goes on about "think before you type" the first time you use it. ;-) – Scott Jun 22 '11 at 21:05
  • Do a ls -lR / >list on a healthy system (or ask someone else for a list). You could automate this process to re-set the permissions (if this Dirk Utility Repair won't work). – ott-- Oct 21 '11 at 17:38
  • Tab Auto-complete saves lives ;3 – hwshadow May 18 '13 at 8:27

Take a look at Apple's Disk Utility's Repair Disk Permissions feature:


| improve this answer | |
  • 1
    This won't undo your changes, but it should fix most of the issues due to improper permission settings. – kylex Jun 22 '11 at 18:08
  • Will this repair my 'sudo' program? – Casey Flynn Jun 22 '11 at 18:39
  • @Casey - What is the issue with sudo? sudo just allows you to run a command as root. ie. bypasses many security restrictions. – kylex Jun 22 '11 at 19:15
  • 1
    @kylex: it probably refuses to work since /etc/suoers is worldwritable :) Good thinking – sehe Jun 22 '11 at 19:39
  • 4
    Sudo probably refuses to work because it needs the suit bit set and by recursively changing everything to mode 777 the OP has stripped the suid bit on sudo (and all other privileged programs). Without the suid bit set, sudo cannot gain elevated privileges and hence cannot grant you access other than that which you already have. Unless Disk Utility has an alternative mechanism for gaining elevated privileges, Casey will probably have to arrange to log in as root. – larsks Jun 22 '11 at 19:44

From http://support.apple.com/kb/HT2963:

Using the Repair Privileges Utility

Most users of Mac OS X have not intentionally modified privileges and simply need a utility to reset system privileges to their correct default values. If you have Mac OS X 10.2 and later, this utility is included in the operating system. If you have Mac OS X 10.1 you can download it. For versions 10.0 to 10.1.4, you must update to version 10.1.5 first.

For Mac OS X 10.2 or later, open Disk Utility (/Applications/Utilities/). Select your Mac OS X startup volume in the column on the left of the Disk Utility window, then click the First Aid tab. Click the Repair Disk Permissions button. You may see an erroneous message.

| improve this answer | |

You're in luck:

It won't fix everything, but it will fix everything that's listed in the bill of materials file for an installed package.

| improve this answer | |

Repair permissions includes files that were created by an OS X installer (like /etc/sudoers), but it doesn't include files that were not preinstalled or not created by packages.

It's probably easier to back up everything, do a clean reinstall, and restore files selectively from the backup (or backups). You can restore 644 / 744 permissions with find:

find /Volumes/Second\ Backup -type f -exec chmod 644 {} \+
find /Volumes/Second\ Backup -type d -exec chmod 744 {} \+

If you can't back up files, try starting up from a recovery partition (or installation media in 10.6 and earlier) and cloning the main OS X drive from Disk Utility.

| improve this answer | |

If there are some tools to revert the permissions, and people are suggesting it, you better first go with it, sudo chmod -R 777 / otherwise you may do is revert all the permissions to some safer level like

chmod -R 644

and then change the permissions to required level, when there is a conflict.


But its not a good way though. Just some safer approach to prevent screwing up with your files, before anything worse can happen. :(

| improve this answer | |
  • 2
    chmod -R 644 will make all directories non-searchable. It would be difficult to recover from that. – Keith Thompson Oct 21 '11 at 18:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.