Over the years, I’ve written a lot about OS X user accounts. The first time was likely a 2002 Macworld article (no longer available online) explaining how to move your user folder to a different drive; more recently, I did a tutorial on changing your short username. I was also one of the people behind the ChangeShortName utility. But until recently, one thing I’d never tried to do, let alone written about, was duplicate an existing user account. It’s just not that common of a task.
You know where this is going.
For years, our kids have shared a single account (“Kids Account”) on the family Mac. That account had parental controls enabled, and it was configured for really young kids who did little beyond using a few apps aimed at preschoolers and kinders.
This setup worked pretty well until the past year or so. Now that the kids are getting older (both are in elementary school), each wants to use apps with her own settings. They both also use the same online-homework system, so sharing an account means lots of logging in and out of accounts in Safari. And, of course, each wants a different desktop picture, a different account name and photo, and so on.
Given all this, I decided that it was time for each child to have her own account. But I didn’t want to manually create two new accounts, as the current kid account was already set up mostly the way we wanted it for each kid: with the right parental controls, with the desired apps in the Dock, with the necessary Safari bookmarks and keychain-saved passwords, and so on. No, what I wanted to do was duplicate the existing kid account.1 And just to be safe, I wanted to duplicate it twice, creating a copy for each kid while letting me save the original account until I could be sure everything was working properly.
Time Machine (or clone backup) to the rescue
Unfortunately, OS X doesn’t provide a simple way to duplicate an existing user account. I’ve come across complicated procedures requiring shell commands in Terminal and/or serious account-administration tools, but most people would take one look at these procedures and decide that, well, creating new accounts and reconfiguring them doesn’t look so bad after all.
However, it turns out there’s a much easier way, if you think creatively. It just requires an up-to-date Time Machine backup (or clone backup) of your Mac.
Here’s the procedure:
- Quit all your open apps, saving any unsaved documents. (If you don’t do this now, you’ll be forced to do it later.)
- Force Time Machine to do a backup so that your backup is up to date. You can do this by clicking the Time Machine menu in the menu bar—it looks like a clock with a circular arrow around it—and choosing Back Up Now. (If you don’t see the Time Machine menu, open the Time Machine pane of System Preferences and enable the Show Time Machine In Menu Bar option.) If you’re using a clone backup tool such as SuperDuper or Carbon Copy Cloner, update your clone-backup drive so that it reflects the current state of your Mac’s drive.
- Open the Migration Assistant utility, located in /Applications/Utilities.
- Click Continue, and enter the username and password of an administrator account. Your Mac will restart into the Migration Assistant interface.
- When Migration Assistant appears, choose From A Mac, Time Machine Backup, Or Startup Disk, and then click Continue.
- On the resulting Transfer Information To This Mac screen, select your Time Machine backup drive (or clone-backup drive), and then click Continue.
- For a clone-backup drive, proceed to Step 8. For a Time Machine drive, you’ll see a list of eligible backups. Choose the correct one, and then click Continue. (Unless you’re using the Time Machine drive for multiple Macs, you should see only one choice here.)
- On the Select The Information To Transfer screen, unselect everything except the account you want to duplicate. In my case, this was Kids Account. (You’ll see a message next to the account stating, “This user needs attention before Migrating.” The message is there because the account has the same name as an existing account—you’ll fix that in a moment.) Click Continue.
- You then see a dialog box informing you that the account you’ve chosen already exists, and giving you a couple options for resolving the issue. Choose Keep Both User Accounts, and then give the new, duplicate account a full name and an account name that differ from the originals. Click Continue.
- If FileVault is enabled on your Mac, you’ll be prompted to authorize the account migration. You’ll then be asked if you want the new account to be able to unlock FileVault. If FileVault isn’t enabled on your Mac, you won’t see these screens.
- You then see the Transferring Your Information screen as Migration Assistant imports the chosen account as a new account.
- Once you see the Migration Complete screen, click Quit, and you’ll be taken to the standard login screen. The new account is available for use.
If, like me, you want to create two new accounts based on the original account, you’ll want to repeat the process.
I did this twice, so my Mac now has two new kid accounts, along with the original (which, again, I plan to keep around only until I’m confident that everything is working as expected with the new accounts). Both of the new kid accounts work exactly like the original, except that each kid can customize to her heart’s content without upsetting her sibling. And it’s now easier for each to do her homework.
Of course, I did have to do a wee bit of cleanup. For example, I needed to go into the Passwords pane of Safari preferences in each account and delete the other child’s homework-website passwords. I also decided to set each kid up with a separate iCloud account, so each now has her own calendar and FaceTime address. I disabled iCloud email, though—we still use Tocomail for the kids, as it has better tools for parental monitoring and address whitelisting, as well as a simpler, child-friendly interface.
- You can actually copy Parental Controls settings from one account and apply them to another, but that doesn’t help with app settings, system settings, or anything else beyond what’s managed using Parental Controls. ↩