пятница, 22 января 2010 г.

Синхронизация паролей между Lin&Win машинами

На работе на win машине имеется ~10 паролей для работы с машинами заказчика.
Все они разные и сложные по требованиям безопасности, те без возможности запомнить. А без них никуда.
Часто приходится работать из дома , а там уже Gentoo linux.
Поэтому задумался , как мне получить все эти пароли дома.
Единственный кроссплатформенный менеджер паролей, который я нашел оказался keepass.
Итак, устанавливаю:

keepass по сути обладает всеми нужными качествами для менеджера паролей:
  • умеет хранить пользователей , пароли, url
  • не светит их в явном виде при копировании, а использует буфер обмена
  • генерирует пароли по шаблону
  • висет в трее и вызывается по горячей клавише
  • Имеет порт на linux/win
Выглядит keepass вот так:

После установки остается минимум - синхронизировать базу паролей между машинами. Обе машины естественно находятся за NAT
Наиболее подходящим сервисом для этого оказался dropbox.
Ставим его на обе машины и задаем директорию в которую он будет синхронизировать данные между машинами
Далее в gentoo я просто сделал симлинку на базу паролей из /etc в дропбокс директорию,
На win же пришлось сохранять базу прямо в директории dropbox

Собственно все - теперь пароли доступны на обоих машинах.Синхронизация выполняется автоматически при обновление файла базы паролей.

Что в этой схеме хорошо:
  • работает на разных платформах
  • синхронизация выполняется автоматически при обновление любой информации в базе

Что не очень:
  • при запущенном keepass на виндовсе создается lock файл для базы данных, который конечно тоже синхронизируется.При открытии синхронизированной базы на другой машине его приходится удалять. Почему было не сделать создание lock файла только в момент записи в базу ??
Update: для решения проблемы с отменой синхронизации лок файла можно сделать следующее.По совету Александр сделал хардлинк на базу данных с паролями на винде следующей командой :
fsutil hardlink create "C:\Program Files\keepass\database.kdb" "C:\My Dropbox\keepass\database.kdb"
Оригинал базы хранится в C:\Program Files\keepass\. На нее создается ссылка в C:\My Dropbox\keepass. Таким образом, при открытии базы лок файл создается в тоже же директории что и база. А "C:\My Dropbox\keepass" продолжает содержать только базу, которую дропбокс и синхронизирует.

В следующей 2.x версии keepass добавлена синхронизация паролей между машинами.Однако эта версия доступна только под win. Поэтому пишем свой велосипед или используем то что есть :)

понедельник, 4 января 2010 г.

Восстановление потерянных пакетов при репликации clearquest

Иногда получается, что из-за проблем сети репликация clearquest проходит как бы наполовину. Иначе говоря, некоторые пакеты теряются. И вот тут начинается самое интересное.
Когда ваше сетевое соединение восстановилось и вы запускаете реплицию (а конкретно импор) повторно,
то она начинает ругаться на отсутствующие пакеты.Вот так:
"Multiutil: The 'MASTER_UPDATE_PACKET' packet was sent from 'DELFT_HUB' at '2010-
01-04 14:16:15'. This packet for 'MASTR' cannot be replayed: This replica has no
t replayed epoch 1834 from replica DELFT_HUB, it has only replayed through 1800."

Лечится это довольно просто.Вспоминаете , когда проблема появилась первый раз и на той стороне откуда вы экспортируете данные, откатывается пакеты на некоторое время назад - когда все было нормально командой:

multiutil recoverpacket -clan tsiem -site delft_hub -family MASTR -user admin -password consulrisk minsk_hub -since 1-november-2009

Далее повторяете репликацию(экспорт, а затем импорт).После этого импорт должен пройти нормально