Customize The User Template
Providing a consistent user experience across multiple machines is a common way for system administrators to minimize troubleshooting time and facilitate training. A new user begins work with a standardized environment, designed for their organization and familiar to those around them.
At the heart of this practice is a default set of user data, carefully designed around the needs of the group and applied to each account when it's first created. For Windows that data is typically stored in C:\Documents and Settings\Default User, while Unix systems have traditionally used /etc/skel. Mac OS X keeps its user template deep within the /System hierarchy, but while finding it can be difficult, customizing it to your needs is quite easy.
Start with an account created specifically for this purpose. Then choose the system preferences, dock items, browser bookmarks, server shortcuts, and application settings appropriate to your user base. If you install any individual applications or fonts on a per-user level, you can include those in ~/Applications and ~/Library/Fonts (where the tilde represents the user's home directory).
Once you've finished, open Keychain Access from the /Applications/Utilities folder and delete the "login" keychain (both references and files when prompted) so new users will get their own keychain file created for them. You'll also want to delete the cache files stored in ~/Library/Caches.
Now log out of the template, and log back in to an Admin account. Open the Terminal, and clear Apple's existing user template:
sudo rm -r /System/Library/User\ Template/English.lproj/*
Then copy your new template account to the system's user template directory:
su -
cp -R /Users/TEMPLATE/* /System/Library/User\ Template/English.lproj/
exit
To work properly in Leopard, you're actually making this change in the root shell, so exercise extreme caution as a typo could erase important system files, or potentially your entire OS X installation.
In the command above, replace TEMPLATE with the actual name of the template account you've created. If you're working in a language other than English, you'll also need to look in /System/Library/User Template/ and replace English.lproj appropriately.
Now, when you add a new user account, it'll be created with your customizations already in place. You can then delete the original account from the install you built it on, but be sure to back up the home directory. The process can be repeated on multiple machines, deployed on your server, or incorporated into a system image, all using the same template.
