How to Move User Account from Linux Server to Another Server

In Linux, user administration is very important because every process in Linux is owned by a user. Users can be people, accounts tied to physical users or accounts which exist for a specific application.

Linux user can be divided to two types, one is system users and another one is normal user or application users. The system user has default ID values 0 to 499 where normal user has ID value 500 to 60,000.

This article I will show you how to cleanly moved user accounts from one server to another server and its all related files.

First, we have to understand user account related configuration files.

• /etc/passwd contains information about the user.
• /etc/passwd contains information about the group.
• /etc/shadow contains encrypted password for the user.
• /var/spool/mail contains user mails are stored in this file.
• /home/user contains users home directory, hence it may contains user data.

The above files are important while moving users from one server to another, hence we need backup the above files.

[[email protected] ~]#mkdir accountbackup
[[email protected] ~]# export UGIDLIMIT=500
[[email protected] ~]# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/passwd > /root/accountbackup

Above command will copy the /etc/passwd file filtered accounts to /etc/accountbackup/ passwd.olds.

Similarly, copy the selected groups in /etc/group file:

[[email protected] ~]# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/group >

Now copy the shadow file:

[[email protected] ~]# awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /root/accountbackup/shadow.old

Now, backup the users home directory and users mails:

[[email protected] ~]# tar -zcvpf /root/accountbackup/home.tar.gz /home

Now, backup of the users mails:

[[email protected] ~]# tar -zcvpf /root/move/mail.tar.gz /var/spool/mail

Now you have taken the user account related files. Copy all the data in a pen drive or a new server by scp command. Before starting the migration to new server, make sure to backup all user related files in the new server.

Restore the data into the new server.

[[email protected] ~]# # cat passwd.old >> /etc/passwd
[[email protected] ~]# # cat group.old >> /etc/group
[[email protected] ~]# # cat shadow.old >> /etc/shadow
[[email protected] ~]# # /bin/cp gshadow.old /etc/gshadow

Similarly, restore the users data as well as the users mails to the new server.

[[email protected] ~]# tar -zxvf /path/to/location/home.tar.gz
[[email protected] ~]# tar -zxvf /path/to/location/mail.tar.gz

Bobbin Zachariah 2:10 pm


Your email address will not be published. Required fields are marked *

All comments are subject to moderation.