Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


Показаны сообщения с ярлыком migration. Показать все сообщения
Показаны сообщения с ярлыком migration. Показать все сообщения

суббота, 18 января 2014 г.

Zimbra: перенос паролей пользователей

После переноса сообщений, перенос паролей самая дурная часть работы: в зимбре в принципе не предусмотрена расшифровка паролей, хранящихся в LDAP в зашифрованном виде.

Более того, команда:

zmprov ga <account>

возвращает что-то вроде:

# name <account>
userPassword: VALUE-BLOCKED

что для нас совсем бесполезно. Однако, если команду слегка изменить и добавить "брать данные из LDAP", то картина меняется:

zmprov -l ga <account> userPassword
# name <account>
userPassword: {SSHA}ДлиннаяСтрокаАбракадабры

(-l - маленькая латинская L, а не i или единица!)

А вот это уже веселее. Получаю такой пароль для пользователя на старом сервере и пробую скормить его на новом:

zmprov ma <account> userPassword {SSHA}ДлиннаяСтрокаАбракадабры

zmprov молча глотает это безобразие и прекрасно пускает меня со старым паролем уже на новом сервере. Красота! Осталось вытащить со старого сервера старые пароли. Ну, на такие грабли наступал не я один, поэтому решение уже нашлось:

for i in `zmprov -l gaa | egrep -v 'galsync|spam|ham|virus|stimpson'`;do \
  echo "$i,`zmprov -l ga $i userPassword | grep userPassword | \
  sed 's/userPassword: //'`";\
done;

Стимпсон - это старое имя сервера того, кто придумал эту команду, поэтому его можно смело удалить. И я немного доработал вывод команды, чтобы она формировала мне готовый набор команд для пакетной обработки:

for i in `zmprov -l gaa | egrep -v 'avir|galsync|spam|ham|virus'`;do \
   echo "zmprov ma $i userPassword `zmprov -l ga $i userPassword | \ 
   grep userPassword | sed 's/userPassword: //'`"; \
done;

Перенаправить вывод этой команды в файл мне не удалось, но это и не важно - ее результаты я скопировал из терминала в файл, который и запустил, добавив шабанг в начале :-)

пятница, 17 января 2014 г.

Zimbra: перенос на другой сервер. Часть 2014-1

Несмотря на радостный оптимизм в сентябре 2012, реальный перенос прошел совсем не так гладко.

Начнем с того, что установить 6.0.15 поверх скопированной с боевого сервера просто не удалось. Как ни бился, но сделать ничего не мог - то вдруг ldap терял данные, несмотря на правильный перенос (через zmslapcat), то zimbramon/64 вдруг начинал обращаться к старой библиотеке, которая еще /486, то еще что-то непонятное вылезало.

В общем, плюнул я на всё и решил ставить с нуля 8.0.6/64 на 12.04. Скоро, правда, появится 14.04, но это уже не так страшно.

По ходу дела выяснилось, что набор зимлетов, активированных в админке по умолчанию несколько отличается от того, что был в 8.0.0. Например, зимлета миграции учетных записей там не оказалось. Однако, сами зимлеты в виде zip-архивов лежали в нужном каталоге в /opt/zimbra.
Лихо жму в админке "инсталляция..." и понимаю, что мне предлагают из браузера выбрать файл на моей рабочей станции, а не из упомянутого каталога. Пришлось скопировать zip-ы к себе и ставить уже отсюда. Вроде поставились, я даже увидел знакомые буквы... Зимлет "просмотр почты" во времена 8.0.0/8.0.1 вызвал неслабое бурление говн на форумах, но в конце концов его официально включили в FOSS-версию, что не может не радовать.

Учетные записи этот мастер переноса создал, молодец. Но почту не перенес. Зато вроде без ошибок указал почтовый сервер каждого пользователя, не пришлось править поломатые.

Сейчас стоят две задачи: перенос сообщений и индивидуальных настроек, а также дополнительных объектов LDAP - списков рассылки и т.п.

Под катом размышления по этому поводу.