Bei sendmail habe ich dies für SMTP-Authentifizierung getan, SASL läuft
root 1609 1 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5
root 1610 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5
root 1611 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5
root 1612 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5
root 1613 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5
Sasl Sendmail ist konfiguriert (/usr/lib/sasl2/sendmail.conf)
pwcheck_method: saslauthd
mech_list: LOGIN PLAIN
Ich habe sendmail smtp wie folgt konfiguriert
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
Natürlich habe ich die Datei kompiliert und sendmail neu gestartet. Die SMTP-Authentifizierung scheint zu funktionieren (Telnet Localhost).
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 2097152
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
Wenn ich das mache, frage ich bei der Authentifizierung nach einem base64-codierten Benutzer, den ich eingebe, dann nach einem Passwort, und dann gebe ich es ein.
535 5.7.0 authentication failed
zur Konvertierung in Base64 verwende ich dieses Skript
#!/usr/bin/perl
use strict;
use MIME::Base64;
print encode_base64("$ARGV[0]");
exit 0;
Natürlich wurde zuerst der Benutzer saslpasswd2 zugewiesen. Irgendwelche Vorschläge?
Antwort1
Lösung gefundenHier
Anstatt -a pam für saslauthd zu verwenden, verwenden Sie -a sasldb wie folgt
saslauthd -a sasldb