迁移用户帐号不是一件容易的任务。你需要确保文件所有权保持完整,密码和所属组保持原样。需要考虑的文件应该是,比如,用户的主目录和email。
在红帽企业Linux2.1和3上,好的情况是他们有相似的处理用户帐号的方法。加入系统的用户的UID和GID总是从500开始计算,一直增加,
除非被覆盖(参见man页的useradd)。这里,我们假设你使用/etc/passwd,/etc/group和/etc/shadow来做身份认
证。这样迁移用户帐号,就是把UID>=500的用户帐号导入到系统中。
为了让这个过程能工作正常,你不应该在新安装的红帽企业Linux3系统上创建新的用户帐号。下面的过程包括获取你的用户帐号,把他们添加到恰当文件的已经存在的帐号后面。这个过程只在安装后有效,建议你在添加用户帐号之前,备份你要修改的文件。
在红帽企业Linux2.1系统上:
# awk -F: '($3>=500) && ($3!=65534)' /etc/passwd > passwd.txt
# awk -F: '($3>=500) && ($3!=65534)' /etc/group > group.txt
# awk -F: '($3>=500) && ($3!=65534) {print $1}' /etc/passwd|tee -|egrep -f - /etc/shadow > shadow.txt
# tar czpf home.tgz /home
# tar czpf mail.tgz /var/spool/mail
拷贝passwd.txt,group.txt,home.tgz和mail.tgz,把他们放到,比如红帽企业Linux3系统的/backup目录,然后做下面的工作:
# cd /
# cp /etc/passwd /backup/passwd-backup.txt
# cat /backup/passwd.txt >> /etc/passwd
# cp /etc/group /backup/group-backup.txt
# cat /backup/group.txt >> /etc/group
# cp /etc/shadow /backup/shadow-backup.txt
# cat /backup/shadow.txt >> /etc/shadow
# tar zxf /backup/home.tgz
# tar zxf /backup/mail.tgz
注意:你可能想先解开/home (home.tgz)和 /var/spool/mail (mail.tgz)目录到一个临时的目录,然后把它们移到/home和/var/spool/mail。
要检查迁移是否成功,可以用迁移后的用户帐号来登录系统。