如何将用户帐户从Linux服务器移动到另一台服务器

时间:2020-03-05 15:29:01  来源:igfitidea点击:

用户可以是人员,与物理用户绑定的帐户或者特定应用程序存在的帐户。
Linux用户可以分为两种类型,一种是系统用户,另一种是普通用户或者应用程序用户。
系统用户的默认ID值是0到499,其中普通用户的ID值是500到60,000。

本教程向我们展示如何将用户帐户从一台Linux服务器(例如Redhat或者centos)干净地移到另一台服务器及其所有相关文件。

迁移用户帐户

首先,我们必须了解与用户帐户相关的配置文件。
以下是在将用户从一台服务器移动到另一台服务器时要考虑的重要文件,因此我们需要备份这些文件。

/etc/passwd包含有关用户的信息。

/etc/group包含有关该组的信息。

/etc/shadow包含用户的加密密码。

/var/spool/mail包含用户邮件,该邮件存储在此文件中。

/home/user包含用户的主目录,因此它可能包含用户数据。

让第一个备份用户帐户。
其中我们考虑复制用户ID大于500的用户帐户。

以下命令将从文件“/etc/passwd”中过滤用户ID大于500的帐户,并将其复制到名为“ /root/accountbackup/passwd.olds”的文件中。

# mkdir accountbackup
# export UGIDLIMIT=500
# awk -v LIMIT=$UGIDLIMIT -F: '(>=LIMIT) && (!=65534)' /etc/passwd > /root/accountbackup/passws.olds

同样,将选定的组复制到/etc/group文件中:

# awk -v LIMIT=$UGIDLIMIT -F: '(>=LIMIT) && (!=65534)' /etc/group >
/root/accountbackup/group.olds

现在复制阴影文件:

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

允许备份用户的主目录和用户的邮件:

# tar -zcvpf /root/accountbackup/home.tar.gz /home

最后备份用户的邮件:

# tar -zcvpf /root/move/mail.tar.gz /var/spool/mail

现在,我们已经备份了所有与用户帐户相关的文件。
通过scp命令将所有数据复制到笔式驱动器或者新服务器中。

在开始迁移到新服务器之前,请确保备份新服务器中的所有与用户相关的文件。

将数据还原到新服务器中。

# cat passwd.old >> /etc/passwd
# cat group.old >> /etc/group
# cat shadow.old >> /etc/shadow
# /bin/cp gshadow.old /etc/gshadow

同样,将用户的数据以及用户的邮件还原到新服务器。

# tar -zxvf /path/to/location/home.tar.gz
# tar -zxvf /path/to/location/mail.tar.gz