Re: How to move sasldb to another server?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Andreas

Thank you for your hints. I will try them in the next view days.

Regards,
Martin

2006/11/11, Andreas Winkelmann <ml@xxxxxxxxxxxxxx>:
Am Saturday 11 November 2006 08:57 schrieb Martin Schweizer:

> > > I have two cyrus imapd server (all software has the same version)
> > > which uses sasldb for authentication. For failover reasons I would
> > > like to "copy" regulary the sasldb from the main server to the backup
> > > server. How can I do that? I did copied by hand but this works not.
> >
> > Maybe you want to tell us, what "works not" means?
>
> ...  means you can not login (pop3, imap oder squirrmail)  if you use
> the copied file.
>
> > I would guess, you use the Hostname as Realm. This will change on the
> > other
>
> ... yea, I saw (with strings sasldb2.sb) that there are realms in the
> database. Probably that is the problem. Isn't it?

You can use "sasldblistusers" or "sasldblistusers2" to see the contents of
sasldb.

> > Server of course. You can solve this with setting servername in
> > imapd.conf to
>
> ... you mean I should turn on the main server name in the impad.conf
> from the backup server?

This is the easiest choice.

An entry in sasldb contains 3 or maybe 4 parts. Username, Realm, Password (and
Type: the "userPassword"). If your users uses only a Username, without
@domain-Part, the Hostname of the Server is used for this key. This is
servername in imapd.conf for Cyrus-Imapd.

Either create entries with:

# saslpasswd -cu domain.tld username

And tell your users to use "user@xxxxxxxxxx" as Username. This should work on
both servers, then.

Or if you (have already) create(d) entries with:

# saslpasswd -c username

The Hostname of the Server is used and either your Users use
"username@xxxxxxxxxxxxxxx" as username or you have to change something
between the Source and Destination (Backup) Server. The easiest is to change
the servername (imapd.conf) of the Backup-Server to be equal the other. Then
Users can use "username" on both servers.

> > the Hostname of the Source-Server. Or change sasldb after copying. Or...
>
> ... what you mean with "change sasldb after copying"? Do something by hand?

If the databasetype is bdb, you can use db_dump/db_load

# db_dump -p /etc/sasldb2 | sed 's/host1\.domain\.tld/host2.domain.tld/' |
db_load /etc/sasldb2_new

This is only an example, if you really want to use something like that, you
should work at least on the regexp in sed.

Or a little Perl-Script.

--
        Andreas



--
Martin Schweizer
schweizer.martin@xxxxxxxxx
Fax: +1 619 3300587
Tel.: +1 619 3300597 (VoIP)

[Index of Archives]     [Info Cyrus]     [Squirrel Mail]     [Linux Media]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux