Mac OSX needs to repair Library

Recently I have got one of the iMac upgraded with SSD and more RAM, the job was done by a local authorized service provider.  They migrated everything onto the new disk and I had it back next day, very happy.

When I first turn on the machine, I noticed one of the user account is no longer there.  I logged in with my account, I can see the user HOME folder is still there and the files are still there…kind of lucky.  I had a look online and found an article to recreate a new user with the same username, the system picked up the HOME folder and magic happened, the user login and all looking good.

Guess what!?  Next day morning all the settings for this user is gone, files are everywhere and can’t access any applications.  Time machine doesn’t work either, can’t revert back to anything.  It also keeps prompting says “Mac OSX needs to repair your Library to run applications. Type your password to allow this”, however no matter what username/password I put in, none of the work, it just doesn’t do anything.

At the end, I found an article from Apple Support Communities, thanks to Linc Davis.  The original link is https://discussions.apple.com/thread/5368156

Below is the solution copy and paste from the article

Back up all data. Don’t continue unless you’re sure you can restore from a backup, even if you’re unable to log in.

This procedure will unlock all your user files (not system files) and reset their ownership and access-control lists to the default. If you’ve set special values for those attributes on any of your files, they will be reverted. In that case, either stop here, or be prepared to recreate the settings if necessary. Do so only after verifying that those settings didn’t cause the problem. If none of this is meaningful to you, you don’t need to worry about it.

Step 1

If you have more than one user account, and the one in question is not an administrator account, then temporarily promote it to administrator status in the Users & Groups preference pane. To do that, unlock the preference pane using the credentials of an administrator, check the box markedAllow user to administer this computer, then reboot. You can demote the problem account back to standard status when this step has been completed.

Triple-click the following line on this page to select it. Copy the selected text to the Clipboard (command-C):

{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; sudo chown -R $UID:staff ~ $_ ; sudo chmod -R u+rwX ~ $_ ; chmod -R -N ~ $_ ; } 2> /dev/null

Launch the Terminal application in any of the following ways:

? Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)

? In the Finder, select Go ? Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.

? Open LaunchPad. Click Utilities, then Terminal in the icon grid.

Paste into the Terminal window (command-V). You’ll be prompted for your login password. Nothing will be displayed when you type it. You may get a one-time warning to be careful. If you don’t have a login password, you’ll need to set one before you can run the command. If you see a message that your username “is not in the sudoers file,” then you’re not logged in as an administrator.

The command will take a noticeable amount of time to run. Wait for a new line ending in a dollar sign (“$”) to appear, then quit Terminal.

Step 2 (optional)

Take this step only if you have trouble with Step 1 or if it doesn’t solve the problem.

Boot into Recovery. When the OS X Utilities screen appears, select

Utilities ? Terminal

from the menu bar. A Terminal window will open.

In the Terminal window, type this:

res

Press the tab key. The partial command you typed will automatically be completed to this:

resetpassword

Press return. A Reset Password window will open. You’re not  going to reset a password.

Select your boot volume (“Macintosh HD,” unless you gave it a different name) if not already selected.

Select your username from the menu labeled Select the user account if not already selected.

Under Reset Home Directory Permissions and ACLs, click the Reset button.

Select

? ? Restart

from the menu bar.