Postfix und SMTPAUTH mit PAM (passwd) (8.1)?
Hallo, ich bekomme nicht heraus wie man Postfix mit cyrus-sasl dazu bringt, dass es nicht über die sasldb authentifizieren will, sondern über das PAM und in /etc/passwd nachgeguckt wird. In /etc/sysconfig/saslauthd habe ich entsprechend pam angegeben. Postfix läuft auch mit SMTPAUTH, aber ich kann mich nicht einloggen. Vermute mal, dass cyrus-sasl oder PAM nicht richtig konfiguriert ist. In /etc/pam.d/ habe ich ein # cp pop smtp gemacht. Reicht das? Zu cyrus-sasl stehe ich ein wenig auf dem Schlauch. Laut der Doku und den ganzen Anleitungen die man im Netz findet soll es einen saslauthd geben. Der existiert bei mir aber genauso wenig, wie die in /etc/sysconfig/saslauthd angegebene man 8 saslauthd. Kann mir jemand ein paar Tipps geben und auf die Sprünge helfen. n8 Markus
Hallo Markus,
ich bekomme nicht heraus wie man Postfix mit cyrus-sasl dazu bringt, dass es nicht über die sasldb authentifizieren will, sondern über das PAM und in /etc/passwd nachgeguckt wird.
In /etc/sysconfig/saslauthd habe ich entsprechend pam angegeben. Postfix läuft auch mit SMTPAUTH, aber ich kann mich nicht einloggen. Vermute mal, dass cyrus-sasl oder PAM nicht richtig konfiguriert ist. In /etc/pam.d/ habe ich ein # cp pop smtp gemacht. Reicht das?
Wo? Im normalen Login? Das hat normalerweise nichts mit SASLAUTH zu tun. Ich meine, daß Du PAM so lassen kannst, wie es ist - zur Not greift /etc/pam.d/other und das paßt i.d.R. schon. Wichtig in diesem Zusammenhang ist aber noch /usr/lib/sasl/smpd.conf, vermutlich ist das Dein Problem. Hier muß Du folgendes hineinschreiben: pwcheck_method: PAM
Zu cyrus-sasl stehe ich ein wenig auf dem Schlauch. Laut der Doku und den ganzen Anleitungen die man im Netz findet soll es einen saslauthd geben. Der existiert bei mir aber genauso wenig, wie die in /etc/sysconfig/saslauthd angegebene man 8 saslauthd.
saslauthd muß schon laufen. Wenn Du über SuSE 8.1 alles per YAST installiert hasr, gibt es einen Eintrag, den Du mit dem Runlevel-Editor noch scharf schalten mußt.
Markus
Gruß, Thorsten.
Thorsten D. Marsen wrote: [...]
Wo? Im normalen Login? Das hat normalerweise nichts mit SASLAUTH zu tun. Ich meine, daß Du PAM so lassen kannst, wie es ist - zur Not greift /etc/pam.d/other und das paßt i.d.R. schon. Wichtig in diesem Zusammenhang ist aber noch /usr/lib/sasl/smpd.conf, vermutlich ist das Dein Problem. Hier muß Du folgendes hineinschreiben: pwcheck_method: PAM
Wenn ich mich beim SMTP-Server anmelde. Habe mich etwas unverständlich
ausgedrückt. Ist mir aber erst hinterher aufgefallen.
Ich nehme an die Datei heisst /usr/lib/sasl/sm>>t< Der existiert bei mir aber genauso wenig, wie die in
/etc/sysconfig/saslauthd angegebene man 8 saslauthd. saslauthd muß schon laufen. Wenn Du über SuSE 8.1 alles per YAST
installiert hasr, gibt es einen Eintrag, den Du mit dem Runlevel-Editor
noch scharf schalten mußt. Bei mir nicht. Es liegt auch nirgendwo dieser saslauthd auf der Platte
und auch keine manpage dazu.
Kannst Du mal nachsehen aus welchem Paket der Daemon kommt?
Danke.
Markus
Hallo Martin,
Wenn ich mich beim SMTP-Server anmelde. Habe mich etwas unverständlich ausgedrückt. Ist mir aber erst hinterher aufgefallen. Ich nehme an die Datei heisst /usr/lib/sasl/sm>>t<
Ja, Du hast recht, kam mir auch komisch vor, ist aber so. Der Postfix geht nicht über den saslauthd, sondern macht die Authentifizierung selbst über PAM und muß daher über /usr/lib/sasl/smtpd.conf selbst eingestellt werden. Mit dem Dreher hast Du natürlich Recht, sorry! Cyradm geht dagegen über den Server.
Der existiert bei mir aber genauso wenig, wie die in /etc/sysconfig/saslauthd angegebene man 8 saslauthd.
saslauthd muß schon laufen. Wenn Du über SuSE 8.1 alles per YAST installiert hasr, gibt es einen Eintrag, den Du mit dem Runlevel-Editor noch scharf schalten mußt.
Bei mir nicht. Es liegt auch nirgendwo dieser saslauthd auf der Platte und auch keine manpage dazu. Kannst Du mal nachsehen aus welchem Paket der Daemon kommt?
Klaro: tdm@venezuela:~> rpm -q --list cyrus-sasl2-2.1.7-24 | grep saslauth /etc/init.d/saslauthd /sbin/rcsaslauthd /usr/sbin/saslauthd /usr/share/man/cat8/saslauthd.8.gz /var/adm/fillup-templates/sysconfig.saslauthd
Danke. Markus
Bitte, Thorsten.
Thorsten D. Marsen wrote:
Der Postfix geht nicht über den saslauthd, sondern macht die Authentifizierung selbst über PAM und muß daher über /usr/lib/sasl/smtpd.conf selbst eingestellt werden. Mit dem Dreher hast Du natürlich Recht, sorry! Cyradm geht dagegen über den Server.
[...]
Klaro: tdm@venezuela:~> rpm -q --list cyrus-sasl2-2.1.7-24 | grep saslauth
[...] 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-XVERP 250 8BITMIME AUTH PLAIN XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 235 Authentication successful Juhu!!! ;o) Für SMTPAUTH bei Postfix braucht man keinen saslauthd und somit kein cyrus-sasl2 Paket. Postfix arbeitet mit dem cyrus-sasl (1.5...) zusammen. Es funktioniert im Prinzip jetzt wunderbar über PAM. SuSE hat wohl nur nicht vorgesehen, dass man bei dieser Konfiguration postfix unter chroot laufen lässt. Hat man nämlich ein wenig Umstände mit etc/shadow... Thx nochmal
Markus Kolb wrote:
Thorsten D. Marsen wrote:
[...]
Der existiert bei mir aber genauso wenig, wie die in /etc/sysconfig/saslauthd angegebene man 8 saslauthd.
saslauthd muß schon laufen. Wenn Du über SuSE 8.1 alles per YAST installiert hasr, gibt es einen Eintrag, den Du mit dem Runlevel-Editor noch scharf schalten mußt.
Bei mir nicht. Es liegt auch nirgendwo dieser saslauthd auf der Platte und auch keine manpage dazu. Kannst Du mal nachsehen aus welchem Paket der Daemon kommt?
Das hat sich mit dem Posting von Christian Schoepplein erledigt. Der saslauthd ist in cyrus-sasl2-2.1.7-42. Postfix verlangt aber nur nach cyrus-sasl-1.5.27-277. Meinem Verständnis nach ist das eine doch die alte und das cyrus-sasl2-2.1.7-42 die neuere Version oder nicht? Für den saslauthd und postfix brauche ich dann beide Versionen?! Ich habe mal beides installiert. Jetzt stellt sich mir die Frage, ob ich smtpd.conf nach /usr/lib/sasl/ oder /usr/lib/sasl2/ schreiben soll. Ich nehme an, weiterhin /usr/lib/sasl/ weil Postfix die ältere Version verwendet und der saslauthd aus sasl2 die Konfiguration über Startparameter mitgeteilt bekommt. Kann mich jetzt noch jemand aufklären, wie diese 2 Pakete sasl und sasl2 zusammenarbeiten? Ich habe da noch immer einen Wurm drin. Hat das denn schon jemand mit SuSE 8.1 und den beiliegenden Paketen fertig gebracht über PAM den SMTPAUTH zu machen?... cu
Hallo Markus,
Markus Kolb wrote:
Thorsten D. Marsen wrote: [...] Jetzt stellt sich mir die Frage, ob ich smtpd.conf nach /usr/lib/sasl/ oder /usr/lib/sasl2/ schreiben soll. Ich nehme an, weiterhin /usr/lib/sasl/ weil Postfix die ältere Version verwendet und der saslauthd aus sasl2 die Konfiguration über Startparameter mitgeteilt bekommt.
/usr/lib/sasl/smtpd.conf
Kann mich jetzt noch jemand aufklären, wie diese 2 Pakete sasl und sasl2 zusammenarbeiten? Ich habe da noch immer einen Wurm drin. Hat das denn schon jemand mit SuSE 8.1 und den beiliegenden Paketen fertig gebracht über PAM den SMTPAUTH zu machen?...
ja, wichtig sind: /etc/postfix/main.cnf smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains und /usr/lib/sasl/smtpd.conf pwcheck_method: PAM Anschließend kannst Du das per telnet testen. Gruß, Thorsten.
Ho! On Sam, Mär 15, 2003 at 10:41:39 +0100, Markus Kolb wrote:
ich bekomme nicht heraus wie man Postfix mit cyrus-sasl dazu bringt, dass es nicht über die sasldb authentifizieren will, sondern über das PAM und in /etc/passwd nachgeguckt wird.
In /etc/sysconfig/saslauthd habe ich entsprechend pam angegeben. Postfix läuft auch mit SMTPAUTH, aber ich kann mich nicht einloggen. Vermute mal, dass cyrus-sasl oder PAM nicht richtig konfiguriert ist. In /etc/pam.d/ habe ich ein # cp pop smtp gemacht. Reicht das?
Das weiß ich nicht. Allerdings musst du auch die Datei /usr/lib/sasl/smtpd.conf ändern. Hier steht standartmäßig pwcheck_method: pam oder pwcheck_method: sasl drinn, es muss aber so was wie pwcheck_method: shadow oder pwcheck_method: pwcheck drinn stehen, um das zu verwirklichen was du möchtest. Das ist allerdings problematisch... Siehe z.B. hier: http://www.tuxhausen.de/postfix_smtp_auth-4.html sasl ist bei SuSE standartmäßig nicht so kompiliert, dass man aus /etc/shadow die Passwörter lesen kann, es fehlt z.B. der Daemon, der das auslesen ermöglicht. Du müsstest also selbst Hand anlegen und das zeug neu übersetzen. Zusätzlich wirst du wahrscheinlich auch noch postfix in die Gruppe für root schreiben müssen, damit die Authentifizierung klappt und /etc/shadow gelesen werden kann. Alles etwas aufwändig...
Zu cyrus-sasl stehe ich ein wenig auf dem Schlauch. Laut der Doku und den ganzen Anleitungen die man im Netz findet soll es einen saslauthd geben. Der existiert bei mir aber genauso wenig, wie die in /etc/sysconfig/saslauthd angegebene man 8 saslauthd.
Kann mir jemand ein paar Tipps geben und auf die Sprünge helfen.
Bei mir gibts den saslauthd auf einer 8.1. athlon:~ # rpmlocate saslauthd Searching for saslauthd in rpm db... cyrus-sasl2-2.1.7-52: /etc/init.d/saslauthd /sbin/rcsaslauthd /usr/sbin/saslauthd /usr/share/man/cat8/saslauthd.8.gz /var/adm/fillup-templates/sysconfig.saslauthd athlon:~ # Wenn du noch ein bißchen genauer erklären kannst, wo deine Problme mit sasl liegen (den saslauthd muss es auch bei dir geben), kann ich dir gerne bei dieser Authentifizerunsgeschichte weiterhelfen.
Markus
Ciao, Schöppi -- Christian Schoepplein | Beste Rockband der Welt: http://www.lily-rockt.de mail@schoeppi.net | Linux fuer Blinde: http://www.blinux.suse.de
Christian Schoepplein wrote: [...]
ändern. Hier steht standartmäßig
pwcheck_method: pam [...] drinn, es muss aber so was wie
pwcheck_method: shadow [...] drinn stehen, um das zu verwirklichen was du möchtest. Das ist allerdings problematisch... Siehe z.B. hier:
http://www.tuxhausen.de/postfix_smtp_auth-4.html
sasl ist bei SuSE standartmäßig nicht so kompiliert, dass man aus
/etc/shadow
die Passwörter lesen kann, es fehlt z.B. der Daemon, der das auslesen ermöglicht. Du müsstest also selbst Hand anlegen und das zeug neu übersetzen. Zusätzlich wirst du wahrscheinlich auch noch postfix in die Gruppe für root schreiben müssen, damit die Authentifizierung klappt und
/etc/shadow
gelesen werden kann. Alles etwas aufwändig...
Welcher Daemon? Also wenn man Postfix in einem chroot laufen lässt, dann werden /etc/passwd und /etc/shadow für Postfix umkopiert. Macht SuSEconfig... Verstehe daher nicht, wieso cyrus-sasl von SuSE nicht für das auslesen von /etc/shadow vorbereitet sein soll?
Bei mir gibts den saslauthd auf einer 8.1.
athlon:~ # rpmlocate saslauthd Searching for saslauthd in rpm db...
cyrus-sasl2-2.1.7-52:
[...] # rpmlocate saslauthd Searching for saslauthd in rpm db... # # rpm -qa | grep sasl cyrus-sasl-1.5.27-277 # Lustig. Hatte mir schon überlegt, ob ich es mit sasl2 probieren soll, aber dann doch nicht gemacht weil ja sasl durch Postfix mitinstalliert wurde. Werde ich gleich mal probieren... cu
Hi Markus! On Son, Mär 16, 2003 at 01:42:19 +0100, Markus Kolb wrote:
Christian Schoepplein wrote: [...]
ändern. Hier steht standartmäßig
pwcheck_method: pam [...] drinn, es muss aber so was wie
pwcheck_method: shadow [...] drinn stehen, um das zu verwirklichen was du möchtest. Das ist allerdings problematisch... Siehe z.B. hier:
http://www.tuxhausen.de/postfix_smtp_auth-4.html
sasl ist bei SuSE standartmäßig nicht so kompiliert, dass man aus
/etc/shadow
die Passwörter lesen kann, es fehlt z.B. der Daemon, der das auslesen ermöglicht. Du müsstest also selbst Hand anlegen und das zeug neu übersetzen. Zusätzlich wirst du wahrscheinlich auch noch postfix in die Gruppe für root schreiben müssen, damit die Authentifizierung klappt und
/etc/shadow
gelesen werden kann. Alles etwas aufwändig...
Welcher Daemon?
Wenn ich michr ichtig erinnere (ist schon was länger her(, wurde mit sasl, wenn es via configure dementsprächend eingestellt wurde, eine Art Daemon beim Kompilieren mit übersetzt, der die Rechte hatte die shadow-Datei auszulesen, denn die diversen Programme, z.B. postfix, dürfen das ja normalerweise nicht.
Also wenn man Postfix in einem chroot laufen lässt, dann werden /etc/passwd und /etc/shadow für Postfix umkopiert. Macht SuSEconfig... Verstehe daher nicht, wieso cyrus-sasl von SuSE nicht für das auslesen von /etc/shadow vorbereitet sein soll?
Keine Ahnung, ich hab's jedenfalls damals nicht hingekriegt und bin deswegen wieder auf sasl und User in /etc/sasldb umgestiegen. Kannst du bitte noch mal genau erklären, wie du das jetzt hinbekommen hast, dass sich postfix die User aus /etc/shadow für die Authentifizierung nimmt? Ciao, Schöppi -- Christian Schoepplein | Beste Rockband der Welt: http://www.lily-rockt.de mail@schoeppi.net | Linux fuer Blinde: http://www.blinux.suse.de
Christian Schoepplein wrote: [...]
Keine Ahnung, ich hab's jedenfalls damals nicht hingekriegt und bin deswegen wieder auf sasl und User in /etc/sasldb umgestiegen.
Kannst du bitte noch mal genau erklären, wie du das jetzt hinbekommen hast, dass sich postfix die User aus /etc/shadow für die Authentifizierung nimmt?
Ich lasse Postfix im chroot jail laufen. Dieses jail legt SuSEconfig bis auf shadow an. Dann habe ich ein # cp /etc/shadow /var/spool/postfix/etc/; chown root.postfix \ /var/spool/postfix/etc/shadow; chmod 640 \ /var/spool/postfix/etc/shadow gemacht. Dann noch einen crontab Eintrag für root: */2 * * * * [ /etc/shadow -nt /var/spool/postfix/etc/shadow -o \ /etc/shadow -ot /var/spool/postfix/etc/shadow ] && cp -af /etc/shadow \ /var/spool/postfix/etc/ Der kopiert die Datei, falls sie sich unterscheiden, alle 2 Minuten wieder aktuell in's jail. Das war's auch schon. Leider gibt es eben den Haken, dass shadow von der Gruppe postfix gelesen werden kann. Ich vertraue jetzt mal auf die Sicherheit von postfix. Wenn aber jemand weiss, wie man postfix im chroot dazu bringt PAM nicht als user postfix sondern root auszuführen, dann wäre das die endgültige Lösung.
participants (3)
-
Christian Schoepplein
-
Markus Kolb
-
Thorsten D. Marsen