半月前に、メールサーバ不調により、新規にメールサーバを構築するハメになり、いろいろと忙しかった。

以前は、qmail+vpopmailでサーバを運用していたが、新規のメールサーバはPostfixで構築することにした。

qmailは開発終わっているし、今時はPostfixかな?と。

メールサーバ移行に伴って、一番やっかいで時間がかかったのは、vpopユーザのパスワードを移行する事だったので、今後のためにメモしておく。

FreeBSDのvpopmailユーザーをLinuxのunixユーザとして設定する作業:

旧サーバ: FreeBSD 4.x qmail+vpopmail

新サーバ: Linux(Vine) Postfix+unix認証

  1. 旧サーバのvpoppasswdをバックアップする
  2. そのvpoppasswdを新サーバへコピーする
  3. vpoppasswdから、ユーザ名とアカウントだけを取り出す
    # cat vpasswd.bak|cut -d: -f1-2 > passwd.list
  4. 新サーバのskelにMaildir/new,cur,tmpのディレクトリを作成しておく
  5. 新サーバにて/etc/login.defsにの1行を追加
    MD5_CRYPT_ENAB  yes
  6. 3.で作成したpasswd.listを元にユーザを作成
    #!/bin/sh
    for line in `cat passwd.list`
    do user=`echo $line | cut -d: -f1` /usr/sbin/useradd -g users -m -s /sbin/nologin $user
    echo $user
    done
  7. 最後に、ユーザのパスワードを元のパスワードに戻す
    #/usr/sbin/chpasswd -e < passwd.list
    (-eは、既に暗号化されたままをもどすため)

以上で、ユーザの移行は完了した。

今回、ハマったのは、パスワード形式の暗号化で、chpasswdの暗号方式をDESからMD5に変えて利用することでした。

もっとスマートな方法があるのだろうけど、急いでいたので、これが精一杯でした。