В заголовке я слукавил — переносятся не пароли, а их хеши, но результат все равно интересен, как по мне.

Имеем VPS с DirectAdmin'ом, в котором есть некоторое количество пользователей. Возникла мысль о переносе почты на полноценную систему (почти — jail во freebsd) и получение в результате плюшек в виде прямого доступа к логам, удобного roundcube для web доступа к почте и iRedAdmin'ом для управления всем этим хозяйством, потому как не все админы дружны с *nix.

В процессе установки iRedMail узнал о особенности jail — нет localhost. Вообще. Переделка служб с 127.0.0.1 на внешний и единственный ip спасла ситуацию.

Далее решил, что миграция учетных записей должна проходить максимально прозрачно — со стороны пользователя не должно быть дополнительных движений как-то смена пароля в почтовой программе. Порадовал скрипт в составе iRedMail'a — create_mail_user_SQL.sh, но одна беда — по умолчанию он предлагает задать пользователям либо всем одинаковый пароль, либо пароль каждому совпадает с его же логином. Но это же не наш метод! (с)

Было решено переделать этот скрипт, чтобы создавать пользователей с их старыми паролями. Из бекапа DirectAdmin'a получил файлик (passwd.lst) с содержимым вида имя_пользователя:$1$соль_пароля. Далее средствами sh получаем однострочный файл (sql2.txt) со списком пользователей через пробел — так хочет скрипт импорта. Доработка create_mail_user_SQL.sh сводится к замене:

export CRYPT_PASSWD="$(openssl passwd -1 ${DEFAULT_PASSWD})"  
#               export CRYPT_PASSWD="$(openssl passwd -1 ${username})"  
                export CRYPT_PASSWD="$(cat passwd.lst | grep ${username} | awk -F: '{print $2}')"; 

Ну и на выходе получаем output.sql — потом с ним делаем

 #mysql -uroot -p 
 USE vmail; 
 SOURCE output.sql;

Все. Если у нас были aliases для почты — в не-Pro iRedAdmin'е нет штатной возможности их создания, но ситуацию исправит операция вида:

#mysql -uroot -p 
use vmail;  
insert into alias (address, goto, domain) values ('orig@domain.ltd', 'user1@domain.com,user2@dom2.com', 'domain.ltd');

Потом через phpmyadmin можно будет корректировать перенаправления.

Надеюсь, пригодится кроме меня еще кому-нибудь.