I found this link that was useful in moving my users to a new machine.
export UGIDLIMIT=1000
awk -v LIMIT=$UGIDLIMIT -F: '($3>LIMIT) && ($3!=65534)' /etc/passwd > /root/migrate/passwd.mig
awk -v LIMIT=$UGIDLIMIT -F: '($3>LIMIT) && ($3!=65534)' /etc/group > /root/migrate/group.mig
awk -v LIMIT=$UGIDLIMIT -F: '($3>LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /root/migrate/shadow.mig
tar -zcvpf /root/migrate/home.tar.gz /home
tar -zcvpf /root/migrate/mail.tar.gz /var/spool/mail
cd /
tar -zxvf /path/to/location/home.tar.gz
cd /
# tar -zxvf /path/to/location/mail.tar.gz
There is one manual step that I needed to do. The procedures above create new groups but do not update the users in existing groups. To find out the current groups for the users run this command:
groups (admin_name)
I only need to do this for the handful of admin users on the system, so I didn’t bother to automate it.
Reboot to see your changes.