Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] cyrus umziehen

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
carsten
Guru
Guru
Beiträge: 1632
Registriert: 27. Jan 2004, 13:27
Wohnort: Mittelhessen

[gelöst] cyrus umziehen

Beitrag von carsten » 29. Dez 2011, 14:18

Hallo,

ich muss mein cyrus umziehen auf eine neue Maschine mit neuem System (OS12.1). Das alte System (OS 11.2) steht unten.

Ein intelligentes Kopieren der confs ist beendet (alles genau anschauen und übertragen)

Nun habe ich die Daten der cyrus-Datenbanken kopiert (/var/lib/imap und /var/spool/imap).
Dabei fällt mir auf dass im alten System alles root/root war und im neuen die Verzeichnisse cyrus/mail als Berechtigung haben.

Nach einem reconstruct mit

Code: Alles auswählen

/usr/lib/cyrus/bin/reconstruct -rf *
kommt in der /var/log/message folgende Fehlermeldung:

Code: Alles auswählen

Dec 29 14:12:57 main2 reconstruct[28851]: DBERROR: dbenv->open '/var/lib/imap/db' failed: Permission denied
Dec 29 14:12:57 main2 reconstruct[28851]: DBERROR: init() on berkeley
Dec 29 14:12:57 main2 reconstruct[28851]: DBERROR: reading /var/lib/imap/db/skipstamp, assuming the worst: Permission denied
Dec 29 14:12:57 main2 reconstruct[28851]: IOERROR: opening /var/lib/imap/mailboxes.db: Permission denied
Dec 29 14:12:57 main2 reconstruct[28851]: DBERROR: opening /var/lib/imap/mailboxes.db: cyrusdb error
Tante Google hat mir nicht wirklich weiter geholfen. Hat sich zwischen dem alten und dem neuen System die Datenbank geändert?
Ich hab schon alles mögliche versucht aber ich komme nicht weiter. Wer hat da eine Idee?

Grüße
Carsten
Zuletzt geändert von carsten am 10. Jan 2012, 18:48, insgesamt 1-mal geändert.
Intel DB65ALB3, Chipsatz B65, Celeron G540, 4GB, 1x1TB System, 2x 2TB SATA RAID1, SuSE 13.2 (noch)

Werbung:
spoensche
Moderator
Moderator
Beiträge: 7449
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: cyrus umziehen

Beitrag von spoensche » 30. Dez 2011, 03:50

Du musst die Zugriffsrechte anpassen, damit der User cyrus die Datenbank lesen, ändern kann.

Code: Alles auswählen

chown -R cyrus:mail /var/lib/imap
Danach noch mal den reconstruct Befehl durchführen.

carsten
Guru
Guru
Beiträge: 1632
Registriert: 27. Jan 2004, 13:27
Wohnort: Mittelhessen

Re: cyrus umziehen

Beitrag von carsten » 1. Jan 2012, 10:07

Danke, ich probiere es...

Fragt sich nur, wieso das jetzt alles anders ist. Aber egal ;-)

Ach ja, hat jemand eine Liste, wie die Berechtigungen der Verzeichnisse /var/lib/imap und /var/spool/imap aussehen müssten im Standard? Hab da inzwischen zu viel rumgedreht...

Oder gibts durch Neuinstallieren von cyrus (und vorheriges Löschen der beiden Verzeichnisse) die Chance, dass einem das brav wieder neu angelegt wird?
Intel DB65ALB3, Chipsatz B65, Celeron G540, 4GB, 1x1TB System, 2x 2TB SATA RAID1, SuSE 13.2 (noch)

spoensche
Moderator
Moderator
Beiträge: 7449
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: cyrus umziehen

Beitrag von spoensche » 3. Jan 2012, 20:42

carsten hat geschrieben:Danke, ich probiere es...

Fragt sich nur, wieso das jetzt alles anders ist. Aber egal ;-)
Egal ist das nicht, ganz im Gegenteil. Ein Dienst, z.B. Cyrus läuft mit root Rechten und wenn ein Angreifer es schafft ihn zu kompromitieren hat er auch Root Rechte, was nicht im Sinne des Erfinders ist. Wenn Cyrus aber nicht las root, sondern als User cyrus ausgeführt wird, hat im Falle eines Falles der Angreifer keine root Rechte.
carsten hat geschrieben: Ach ja, hat jemand eine Liste, wie die Berechtigungen der Verzeichnisse /var/lib/imap und /var/spool/imap aussehen müssten im Standard? Hab da inzwischen zu viel rumgedreht...
Überleg doch mal. Wer soll bzw. muss auf die Verzeichnise Lese- und Schreibrechte haben und ist der Eigentümer? cyrus
Wer sollte Leserechte auf die Verzeichnisse haben? Die Gruppe mail.
Also musst du die Berechtigung wie ändern?

Das solltest du im Schlaf wissen, wenn du einen Server betreibst.
carsten hat geschrieben: Oder gibts durch Neuinstallieren von cyrus (und vorheriges Löschen der beiden Verzeichnisse) die Chance, dass einem das brav wieder neu angelegt wird?
[/quote]

Neuinstallieren? Da musste nach M$ gehen.

stka
Moderator
Moderator
Beiträge: 3293
Registriert: 1. Jun 2004, 13:56
Wohnort: 51°58'34.91"N 7°38'37.47"E
Kontaktdaten:

Re: cyrus umziehen

Beitrag von stka » 4. Jan 2012, 19:54

Hast du das reconstruct als root gemacht? Wenn ja ist das dein Problem, das musst du als user cyrus machen. Wenn du von cyrus 2.1 auf 2.2 umsteigst, musst du die Datenbank konvertieren, denn das Format hat sich geändert. Wenn beide Server noch laufen, kannst du das ganze auch mit imapsync machen, dann ist Datenbankformat kein Problem. Da kannst du selbst von cyrus auf dovecot umstellen. Hab ich letztens bei einem Kunden auch so gemacht.
Du hörst nicht auf zu laufen weil du alt wirst. Du wirst alt weil du aufhörst zu laufen.
Das neue Buch http://www.kania-online.de/fachbuecher

carsten
Guru
Guru
Beiträge: 1632
Registriert: 27. Jan 2004, 13:27
Wohnort: Mittelhessen

Re: cyrus umziehen

Beitrag von carsten » 10. Jan 2012, 18:48

Hy,

sorry, ich melde mich erst jetzt.

Ich habs inzwischen geschafft.

Zuerst mal ist das ein Home-Server, keiner direkt im Netz, also keine Panik.
Durch Umbenennen der alten Verzeichnisse /var/lib/imap und /var/lib/spool und Neuinstallieren von cyrus habe ich die Strukturen neu gebaut bekommen.

Das Verzeichnis /var/spool/imap/user auf den neuen Server kopiert, bei Bedarf die Besitzer aller Dateien auf cyrus:mail geändert

Auf dem alten Server die Postfächer gesichert mit

Code: Alles auswählen

su cyrus -c "/usr/lib/cyrus/bin/ctl_mboxlist -d" >/var/lib/imap/mailboxes.txt
Diese Datei dann an die gleiche Stelle auf dem neuen Server rüber kopiert und mit

Code: Alles auswählen

su cyrus -c "/usr/lib/cyrus/bin/ctl_mboxlist -u" </var/lib/imap/mailboxes.txt
die Postfächer wieder angelegt.
Dann ein freundliches

Code: Alles auswählen

/usr/lib/cyrus/bin/reconstruct -rf *
und alles ist da.

Nicht vergessen: Wenn der Server ein anderer ist und sich der Hostname geändert hat muss die saslpasswd2 neu angelegt werden, da hier der Hostname mit drin steht bei jedem Eintrag.
Die Confs natürlich auch entsprechend ändern.
Das brauchte ich bisher nie, da es immer nur eine Installation in einer neuen Suse auf dem gleichen Gerät war...

Ich war halt nur verwirrt, weil die Berechtigungen plötzlich andere waren und damit nichts gepasst hat. Umgezogen bin ich schon mehrfach, aber nie auf eine andere Maschine, und jedesmal ist es ein Quell der Freud. So oft mache ich es eben nicht, alle 1-2 Jahre mal.

Danke für die richtigen Denkanstösse
Intel DB65ALB3, Chipsatz B65, Celeron G540, 4GB, 1x1TB System, 2x 2TB SATA RAID1, SuSE 13.2 (noch)

Antworten