[Postfixbuch-users] Passwörter mitschreiben

Andreas Winkelmann ml at awinkelmann.de
So Jan 18 22:47:25 CET 2009


On Sunday 18 January 2009 22:10:09 Jörg Sitek - mob e.V. wrote:

> > Wenn Du saslauthd verwendest, fge Deiner smtpd.conf ein "auto_transition:
> > yes" hinzu. Dann werden nach einem erfolgreichen Plaintext Login die
> > Daten des Users in die sasldb bertragen. Dort stehen die dann im
> > "Klartext". Dies Option ist fr solche "Umzge" gedacht.
>
> in welcher Datei finde ich die Daten denn dann? Finde auf meinem System mit
> cyrus 2.2 und saslauthd nur unter /etc die sasl2db. Ist das die richtige?
> Wenn ja, wie bekomme ich die Daten da raus?

Der Eintrag wird in allen zur Verfügung stehenden auxprop-Plugins, welche 
entsprechend konfiguriert sind bzw. überhaupt einen Eintrag erzeugen können 
erstellt. Ohne weitere Konfigurationen bzw. normalerweise ist das die sasldb.

Der Name der Datei variiert. Ist aber meistens /etc/sasldb2.

Wie man die ausliest hängt einmal von der Datenbank selber ab, die kann so 
einige Formate haben - ist aber wohl meist BDB und natürlich hängt es auch von 
der Programmiersprache der Wahl ab. Der schnellste aber auch unsauberste Weg 
dürfte mit strings(1) gehen:

# strings /etc/sasldb2
test
andi
userPassword

User ist "andi" Passwort ist "test".

Das druckt alle lesbaren Zeichen aus. 

Am besten im Falle von BDB ist IMHO db_dump.

# db_dump -p /etc/sasldb2
VERSION=3
format=print
type=hash
db_pagesize=4096
HEADER=END
 andi\00ws\00userPassword
 test
DATA=END

Nach dem Header kommen die Einträge. 

Username \00 Realm \00 userPassword
Passwort

"userPassword" ist eine feste Zeichenkette und bedeutet einfach, dass sich im 
Eintrag das Klartext Passwort befindet. Es gab in der ganz ganz frühen 
Geschichte mal andere Formate.

Aber auch für Perl dürfte es die passenden Bibliotheken geben um die DB zu 
lesen und direkt weiter zu verarbeiten.

--
Andreas




Mehr Informationen über die Mailingliste Postfixbuch-users