舊 Linux Server 使用者帳號轉移到新 Server

在遇到Linux Server要移轉或者作備援機時,需要連同用者帳號一同移轉,移轉的步驟如下:

一、會影響到的舊Server的檔案:

/etc/passwd – 內含帳號資訊, 如家目錄, shell 等
/etc/shadow – 內含帳號加密的密碼
/etc/group – 定義用戶群組
/etc/gshadow – 內含群組加密資訊
/home – 用戶預設的家目錄


二、先在舊Server本機上做備份


1.mkdir /root/move
2.export UGIDLIMIT=500   只要移轉uid500以上的使用者帳號
3.awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/passwd > /root/backup/passwd.mig  
複製使用者帳號
4.awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/group > /root/backup/group.mig  
複製群組帳號
5.awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /root/backup/shadow.mig  
複製/etc/shadow
6.cp /etc/gshadow /root/backup/gshadow.mig  複製/etc/gshadow
7.tar -zcvpf /root/backup/home.tar.gz /home  備份/home

三、在新的Server上將使用者帳號作備份
1.mkdir /root/oldusers.bak
2. cp /etc/passwd /etc/shadow /etc/group /etc/gshadow /root/oldusers.bak   將新機使用者及群組帳號檔備份
3. 將舊帳號加入新機帳號檔
# cat passwd.mig >> /etc/passwd  
#
cat group.mig >> /etc/group
# cat shadow.mig >> /etc/shadow
# /bin/cp gshadow.mig /etc/gshadow 
 
上面必須用雙箭頭 ">>", 不能用單箭頭 ">", 如果用單箭頭的話會將新 Server 的系統帳號刪除。

四、將 home.tar.gz複製及解壓縮至新Server的/home
# cd /
# tar -zxvf /path/to/location/home.tar.gz
 



留言