vpopからのパスワード移行
半月前に、メールサーバ不調により、新規にメールサーバを構築するハメになり、いろいろと忙しかった。
以前は、qmail+vpopmailでサーバを運用していたが、新規のメールサーバはPostfixで構築することにした。
qmailは開発終わっているし、今時はPostfixかな?と。
メールサーバ移行に伴って、一番やっかいで時間がかかったのは、vpopユーザのパスワードを移行する事だったので、今後のためにメモしておく。
FreeBSDのvpopmailユーザーをLinuxのunixユーザとして設定する作業:
旧サーバ: FreeBSD 4.x qmail+vpopmail
新サーバ: Linux(Vine) Postfix+unix認証
- 旧サーバのvpoppasswdをバックアップする
- そのvpoppasswdを新サーバへコピーする
- vpoppasswdから、ユーザ名とアカウントだけを取り出す
# cat vpasswd.bak|cut -d: -f1-2 > passwd.list - 新サーバのskelにMaildir/new,cur,tmpのディレクトリを作成しておく
- 新サーバにて/etc/login.defsにの1行を追加
MD5_CRYPT_ENAB yes - 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 - 最後に、ユーザのパスワードを元のパスワードに戻す
#/usr/sbin/chpasswd -e < passwd.list
(-eは、既に暗号化されたままをもどすため)
以上で、ユーザの移行は完了した。
今回、ハマったのは、パスワード形式の暗号化で、chpasswdの暗号方式をDESからMD5に変えて利用することでした。
もっとスマートな方法があるのだろうけど、急いでいたので、これが精一杯でした。