Download: Sysadmin
Transkrypt
Download: Sysadmin
SYSADMIN Warsztat admina Z poradnika administratora: imapsync Przenosimy skrzynki Niewielkie narzędzie imapsync ułatwia przenosiny zawartości różnego typu skrzynek IMAP-owych na nowy serwer pocztowy. CHARLY KÜHNAST W doskonałym świecie użytkownicy nie zauważają nawet migracji na nowy system pocztowy. Na nieszczęście, w środowisku produkcyjnym doskonałość jest rzadkim gościem. Jeden z problemów polega na tym, że proces migracji może zresetować flagi określające, czy dana wiadomość została przeczytana, co prowadzi do sytuacji, w której użytkownik zastaje skrzynkę pełną „nowych” wiadomości. W tym wypadku pomocny okazuje się perlowy skrypt imapsync[1], który synchronizuje konta IMAP między serwerami. Przechodzimy do praktyki Mam stary, trzeszczący w szwach serwer poczty o adresie IP 10.0.0.5 i nowy o adresie 10.0.0.10. Moja nazwa użytkownika na starym serwerze brzmi charly, a na nowym – ckuehnast. Rozpoczynamy od symulacji procesu migracji za pomocą opcji --dry imapsynca: imapsync --dry --host1 10.0.0.5U --user1 charly --password1 U 0r1and0 -- host2 10.0.0.10 U --user2 ckuehnast --password2 U 10nd0n Opcja --dry nakazuje imapsyncowi, by wy- 62 Listopad 2004 konał wszystkie niezbędne kroki, nie zapisując jednak danych na dysk. Jeśli okaże się, że podczas wykonywania polecenia nie wystąpiły błędy, mogę uruchomić powyższe polecenie bez opcji --dry, dzięki czemu migracja zostanie faktycznie przeprowadzona. Powyższa metoda ma jedną wadę: przekazując hasła poleceniu imapsync, narażam się na niebezpieczeństwo przechwycenia ich przez wścibskiego współużytkownika. Ktoś zalogowany w systemie mógłby poznać je po wpisaniu polecenia ps axwww i przejrzeniu listy procesów. Lepszym rozwiązaniem jest więc przechowanie haseł w pliku o restrykcyjnych prawach dostępu (chmod 400nazwa_pliku). W tym wypadku zmieniona wersja poprzedniego polecenia miałaby postać: imapsync --dry --host1 10.0.0.5U --user1 charly --passfile1 U /etc/charly-pass --host2 U 10.0.0.10 --user2 ckuehnast U --passfile2 /etc/ckuehnast-pass Niestety, podczas logowania imapsync będzie musiał przekazać hasło w postaci tekstowej. Ponieważ skrypt ten nie obsługuje jeszcze protokołu IMAP przez SSL, istnieje www.linux-magazine.pl niebezpieczeństwo przechwycenia hasła za pomocą sniffera. Spryciarz imapsync nie przenosi całego konta IMAP, lecz wcześniej sprawdza, czy na serwerze docelowym nie znajduje się jakaś poczta. Jeśli ją znajdzie, dokonuje migracji różnicowej, synchronizując oba konta. Jeżeli z jakiegoś powodu transfer danych zostanie przerwany, narzędzie jest uruchomiane ponownie i zaczyna od punktu, w którym przerwało. Jeśli jesteśmy pewni, że stary serwer nie będzie nam już potrzebny, możemy imapsyncowi przekazać opcję --delete, która usuwa wiadomości z serwera źródłowego po pomyślnym zakończeniu migracji. Co ciekawe, autor imapsynca stworzył również użyteczne narzędzie zwane Pop2imap [2]. Ułatwia ono migrację kont POP3 na IMAP. Jeśli potrafimy obsługiwać imapsync, Pop2imap nie powinien sprawić nam problemu. ■ INFO [1] imapsync: http://www.linux-france.org/prj/imapsync/ [2] Pop2imap: http://www.linux-france.org/ prj/pop2imap/