RedHat 9 的帳號轉移到 CentOS 5.3(Email Server)

公司的Email Server非常老舊,而且兼任NAT的角色,P III的CPU漸漸無法負荷,所以找個時間將它升級。原本是想公司的人數不多,可以安裝新的OS後重新建立帳號,但是這樣會有兩個問題:1.使用者的密碼必需重新發佈並且請他們修改密碼。2.使用者必須記得到舊Email Server上面收取轉換期間寄來的Email。

後來就在網路上找看看是否有辦法可以將RedHat上面的帳號與信件搬移到CentOS,幾經測試,終於找到可行的方法,此方法僅限於同Distribution版本所衍生出來的Liunx,例如CentOS採用的是RedHat Enterprise的核心,因為核心的來源相同,所以密碼加密的方式相同,所以才適用此方法。我測試RedHat 9轉移到CentOS 5.3可行,並不代表其他版本也同樣適用喔。

轉移步驟如下:
ms1為舊Email Server(Redhat 9)
ms2為新Email Server(CentOS 5)

1. ms1 停止httpd服務(防止使用者由Webmail進入)
#httpd -k stop
2. ms1 停止Sendmail服務(防止收到其他的郵件)
#/etc/rc.d/init.d/sendmail stop
3. ms1 關閉passwd & Group shadow
#pwunconv
#grpunconv
4. ms1 產生passwd & Group移轉檔
#cat /etc/passwd | awk -F":" '$3 >= 500 && $3 <= 60000 ' > passwd.linux
#cat /etc/group | awk -F":" '$3 >= 500 && $3 <= 60000 ' > group.linux
5. ms1 備份/var/spool/mail
#tar -czvf spoolmail.tar /var/spool/mail
6. ms1 備份/home
#tar -czvf home.tar /home
7. ms1 備份aliases
#cp /etc/aliases .
8. 將 passwd.linux & group.linux & spoolmail.tar & home.tar複製到ms2
#sftp x.x.x.x
sftp>put passwd.linux
sftp>put group.linux
sftp>put spoolmail.tar
sftp>put home.tar
sftp>put aliases
9. ms1開啟 passwd & Group shadow
#pwconv
#grpconv

10. ms2 解壓縮 home.tar
#tar xvf home.tar -C /
11. ms2 解壓縮 spoolmail.tar
#tar xvf spoolmail.tar -C / --exclude-from=/var/spool/mail/root
12. ms2 關閉passwd & Group shadow
#pwunconv
#grpunconv
13. ms2將passwd.linux加到passwd的檔尾
#cat passwd.linux >> /etc/passwd
14. ms2將group.linux加到group的檔尾
#cat group.linux >> /etc/group
15. ms2開啟 passwd & Group shadow
#pwconv
#grpconv
16. ms2建立aliases
#cp aliases /etc
#newaliases
17. 為求保險起見重新啟動ms2
#shutdown -r now
18. 確認移轉過來的帳號在ms2是否可登入
19. 將domain name的ip設定轉移到ms2
20. 發送公告信

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *