How I would do it:
1. Get a hard drive of sufficient size.
2. Get CarbonCopyCloner -- an ideal tool for this task.
3. ON THE "MASTER" iMac...
4. First, install a clean copy of the OS of your choice (you didn't tell us)
5. Then, create 3 or 4 "temporary" administrative accounts. Give them completely generic names with an easily-accessible password.
For example:
I would name the first account "temp501" with password "temp501".
This is because it occupies the "501" user ID space in the home folder
I would name the second account "temp502" with password "temp502".
This is because it occupies the "502" user ID space in the home folder
Etc.
6. Log into one of the temp accounts, and make sure all software (OS and apps) has been updated properly.
This iMac has become "your master copy".
You need to "replicate it" to the other iMacs.
So...
Now use CCC to create a clone of the master iMac to an external drive.
The clone is BOOTABLE as well as being an exact copy.
CCC even clones over the recovery partition.
Next thing...
a. Connect the drive to the "next iMac in need of replication"
b. Boot from the external drive (press power on button and hold down the option key CONTINUOUSLY until the startup manager appears, then select the external drive with the pointer and hit return).
c. You should boot from the cloned backup
d. Open Disk Utility and ERASE whatever is on the target iMac's drive. What format you use depends on which OS you will be using.
e. Once that's done, open CCC and RE-clone the entire contents of the bootable clone to the internal drive.
f. You now have an exact copy of what was on the master iMac, on THIS iMac.
Now...
You need to get it personalized to the user in question.
Assuming that there is to be only ONE user account...
1. Disconnect the cloned backup and put it away (you don't need it any more)
2. Boot the replicated iMac... BUT....
3. DO NOT log into the "temp501" account.
4. Log into the "temp502" account instead.
5. When you get to the finder, don't worry too much about personalizing things (this account is only for setup and administration)
6. Now, go to "users and groups" (pref pane)
7. Click the lock icon (bottom) and enter the password for the temp502 account (I use "temp502")
8. Now COMPLETELY DELETE the temp501 account (don't archive it, DELETE it).
9. Now the "501" user ID space is "empty", waiting for a new user
10. At this point you have two choices:
10a. You could use "migration assistant" to "bring over" the user's account from a backup, or
10b. You can create a NEW user account (either regular or administrative) to "fill the empty space" and it will become the "501 user ID" account.
Once this is done
a. Log out of the temp502 account
b. Log into the new user account
c. Get it set up as needed
d. Hand it over to the new user.
Repeat the entire process for each successive user.
Sounds like lots of work, but it's not, really.
The routine for the "temp" user accounts just ensures that each new user will occupy the OS's "first user account" -- the "501" space.
It's CCC that makes the whole thing easy.
Great software!