Jun 09, '09 07:30:00AM • Contributed by: nilness
I work at an Apple authorized service provider, and many times we need to do a new OS X install, create a (temporary) user account, run all the updates, then delete the user account and get the machine back to "new" condition, i.e. no user accounts and Setup Assistant runs at boot.
The process in 10.4 is pretty well documented, but not so 10.5. Here's a process I've come up with and tested twice. It's not as elegant as just deleting the whole netinfo database, but it still seems to accomplish what I need. Hopefully someone more knowledgeable can improve it!
To delete a user from the command line in 10.5:
- Boot into single user mode. Hold Command-s at startup.
- Check the filesystem: /sbin/fsck -fy
- If no remaining errors, mount the filesystem: /sbin/mount -uw /
- Start up directory services:
launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plistNote that single user mode said to use com.apple.DirectoryServicesLocal.plist, but that didn't work -- this did.
- Find what groups the user belongs to: dscl . -list /groups GroupMembership | grep username -- repeat for each group except for the user's own group.
- Remove the group corresponding to the username: dscl . delete /groups/username (this may not be necessary -- you may get an error that the group doesn't exist; you can ignore it and go on).
- Remove the user account: dscl . delete /users/username
- At this point, you may wish to remove or archive the user folder in /Users.
- You may wish to remove the .AppleSetupDone file in /var/db to cause the Setup Assistant to run when next booted.
- All done? Type reboot to reboot the system or shutdown -h now to shut down the system.
