Ich hatte immer mal wieder mit Mailservern zu tun. Leider war ich häufiger etwas verwirrt, da – je nach Setup – sehr viele verschiedene Komponenten miteinander kommunizieren müssen. Aus diesem Grund hier mein Spickzettel für einen Mailserver auf einem Internethost mit FQDN. Ausprobiert wurde es auf einem Debian Lenny.
Alle Verbindungen nach außen sind verschlüsselt oder mit MD5-Cram Pasword Hashes verschleiert. Eingehende Mail wird auf Spam und Viren geprüft und Benutzer können ihre Mail über IMAP lesen.
Im Bild oben sind Daemons gelb, Datenbanken grau und gesichtere Verbindungen grün.
Was machen die einzelnen Komponenten?
- Postfix empfängt Mails, die Clients versenden wollen. Diese leitet er weiter an den richtigen Server im Internet. Außerdem entfängt Postfix Mails aus dem Internet für Benutzer mit Mailboxen auf dem Server.
- VirtualAliases(Teil von Postfix) ist eine Datenbank mit der Postfix empfangene Mails den einzelnen Mailusern zuordnen kann.
- Saslauthd authentifiziert User die Mail über Postfix per SMTP verschicken wollen. Er überprüft Username und Passwort mit MD5-Cram Hashes.
- Sasldb ist die Datenbank, aus der Saslauthd Usernamen und Passwörter anfragen kann.
- Courier-IMAP stellt dem Mailclient eines Nutzers die Mails aus seinem Maildir zur Verfügung
- Courier-Authdaemon authentifiziert User, die Mail über den Courier-IMAP lesen. Er überprüft Username und Passwort mit MD5-Cram Hashes.
- Userdb (Teil von Courier) ist die Datenbank, aus der Courier-Authdaemon Usernamen und Passwörter anfragen kann.
- Procmail ist ein Filter, durch den jede eingehende Mail laufen muss. Procmail reicht die Mail an den Spamfilter und den Virenscanner durch und liefert sie danach an den User aus.
- Clamassassin ist ein kleines Tool, das eine Schnittstelle zwischen Procmail und ClamAV bildet. Es reicht die Mails nur durch an ClamAV.
- Spamassassin (spamd) Spamchecker. Gibt jeder Mail einen Score, der aussagt wie wahrscheinlich es ist, dass die überprüfte Mail SPAM ist.
- Maildir Mailbox Hier liegen die Mails der Benutzer des Systems. Es ist ein normales Verzeichnis im Dateisystem. IMAP-Clients können sie von hieraus abrufen.
Vorbereitung
Alle benötigten Pakete installieren
apt-get update && apt-get upgrade apt-get install postfix postfix-doc postfix libsasl2-2 sasl2-bin libsasl2-modules courier-imap-ssl procmail spamassassin clamav clamassassin
Konfigfragen von Courier
- Verzeichnisse für WWW-Administration? Nein
Konfigfragen von Postfix
- Internet-Server
- E-Mail-Name: Der per DNS auflösbare FQDN des Servers (z.B. meinedomain.de)
Konfiguration von Postfix fortsetzten
dpkg-reconfigure postfix
Weitere Konfigfragen von Postfix
- Internet-Server
- An wen sollen Mails für root weitergeleitet werden: Nichts eintragen, kommt später.
- Rechner für die dieser Rechner als Zielsystem gilt: Alle Domains die mit Postfix Mails empfangen können und die einen DNS-Eintrag für die IP des Servers haben. (z.B. meinedomain.de, meinanderedomain.de, meinedrittedomain.de)
Postfix
Configdatei für Postfix
# /etc/postfix/main.cf smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no readme_directory = /usr/share/doc/postfix # TLS aktivieren smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache myhostname = meinedomain.de alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = meinedomain.de, meineanderedomain, meinedrittedomain , localhost, 127.0.0.1 relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all html_directory = /usr/share/doc/postfix/html inet_protocols = ipv4 # Auth über SASL smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes # Nur User Mail versenden lassen, die in SASL-DB stehen, nur MD5-Passwörter erlauben smtp_sasl_security_options = noanonymous, noplaintext # Nur Localhost (mynetworks) und über SASL angemeldete User dürfen Mails verschicken smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_sasl_local_domain = # Nur verschlüsselt Authentifizieren mit TLS smtp_tls_auth_only = yes #TLS aktivieren smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes # Selbstgenerierter Schlüssel und das Zertifikat smtpd_tls_key_file = /etc/postfix/cert/smtpd.key smtpd_tls_cert_file = /etc/postfix/cert/smtpd.crt smtpd_tls_CAfile = /etc/postfix/cert/cacert.pem # SPäter auf 0 setzen, gut zum debuggen smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom # Mails in Maildirs ausliefern home_mailbox = Maildir/ # Dateiname der Virtual-Alias-Map mit der Zuordnung von E-Mail-Adresse zu lokaler Mailbox virtual_alias_maps = hash:/etc/postfix/virtual # Mail wird nicht direkt in Mailboxen gelegt sondern an Procmail übergeben mailbox_command = procmail -a "$EXTENSION"
SASL
SASL stellt für verschiedene Daemons einen Authentifizierungsmechanismus zur Verfügung. In diesem Setup werden in einer SASL-Datenbank die Benutzer gespeichert, die über unseren Postfix Post verschicken dürfen. (Also der Username und das Passwort, die im E-Mail-Client als Zugangsdaten für den SMTP-Server eingetragen werden müssen)
Konfigdatei für SASL erstellen
# /etc/postfix/smtpd.conf pwcheck_method: authdaemond mech_list: CRAM-MD5
Postfix kann leider noch nicht den saslauthd benutzen um Benutzerdaten zu überprüfen, da Postfix in einer chroot-Umgebung läuft und noch keinen Zugriff auf den saslauthd hat.
# /etc/default/saslauthd START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="pam" MECH_OPTIONS="" THREADS=5 # Mit -m legen wir das Socket von saslauthd in ein Verzeichnis, das Postfix aus dem chroot erreichen kann. OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Danach muss noch im „start-instance“-Block von /etc/init.d/saslauthd der Ort für die PID geändert werden, auch wieder damit Postfix das PID-File lesen kann.
# /etc/init.d/saslauthd . . PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid" . .
TLS
Es können nun keine nicht-authentifizierten Sender mehr Mail über den Postfix SMTP versenden, allerdings gehen die Mails noch im Klartext durch LAN und Internet. Die TLS-Verschlüsselung wurde bereits oben in der Postfix-Konfigdatei main.cf aktiviert. Allerdings fehlen noch Key und Zertifikat.
mkdir /etc/postfix/cert cd /etc/postfix/cert openssl genrsa -des3 -rand /etc/hosts -out ./smtpd.key 1024 chmod 600 ./smtpd.key openssl req -new -key ./smtpd.key -out ./smtpd.csr openssl x509 -req -days 99999 -in ./smtpd.csr -signkey ./smtpd.key -out ./smtpd.crt openssl rsa -in ./smtpd.key -out ./smtpd.key.tmp mv -f ./smtpd.key.tmp ./smtpd.key chmod 600 ./smtpd.key openssl req -new -x509 -extensions v3_ca -keyout ./cakey.pem -out ./cacert.pem -days 99999
SASL DB erstellen
Mails werden nun bei der Übertragung verschlüsselt, Usernamen und Passwörter für den Mailversand über den SMTP-Server gehen jedoch noch im Klartext durchs Internet. Diese kann man zumindest mit der MD5-Cram-Methode kaschieren. Diese wurde bereits in der /etc/postfix/smtpd.conf aktiviert. Es fehlt nur noch die SASL-Datenbank selbst. Diese legt man an, indem man einfach einem späteren Mailuser einen Usernamen und ein Passwort gibt.
# Für Username einen lokalen Mailuser einsetzen um die SASL-DB zu erstellen mit einem ersten Benutzer saslpasswd2 username
Postfix ist fertig. Er kann Mails empfangen und verschicken. Verbindungen zu Clients und anderen Mailservern sind verschlüsselt.
Courier
Couriers Konfigdateien
# /etc/courier/authdaemonrc # UserDB zur authentifizierung benutzen authmodulelist="authuserdb" authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" daemons=5 authdaemonvar=/var/run/courier/authdaemon # Gut zum debuggen DEBUG_LOGIN=2 DEFAULTOPTIONS="" LOGGEROPTS=""
#/etc/courier/authmodulelist # courierauthdaemon nutzt MD5-cram authcram
# /etc/courier/imapd ADDRESS=0 PORT=143 MAXDAEMONS=40 MAXPERIP=20 PIDFILE=/var/run/courier/imapd.pid TCPDOPTS="-nodnslookup -noidentlookup" LOGGEROPTS="-name=imapd" #Hier wird AUTH=CRAM-MD5 hinzugefügt IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 IDLE" IMAP_KEYWORDS=1 IMAP_ACL=1 IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE" IMAP_PROXY=0 IMAP_PROXY_FOREIGN=0 IMAP_IDLE_TIMEOUT=60 IMAP_MAILBOX_SANITY_CHECK=1 IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN" IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN" IMAP_DISABLETHREADSORT=0 IMAP_CHECK_ALL_FOLDERS=0 IMAP_OBSOLETE_CLIENT=0 IMAP_UMASK=022 IMAP_ULIMITD=65536 IMAP_USELOCKS=1 IMAP_SHAREDINDEXFILE=/etc/courier/shared/index IMAP_ENHANCEDIDLE=0 IMAP_TRASHFOLDERNAME=Trash IMAP_EMPTYTRASH=Trash:7 IMAP_MOVE_EXPUNGE_TO_TRASH=0 SENDMAIL=/usr/sbin/sendmail HEADERFROM=X-IMAP-Sender IMAPDSTART=YES MAILDIRPATH=Maildir
SSLPORT=993 SSLADDRESS=externe.ip.des.servers SSLPIDFILE=/var/run/courier/imapd-ssl.pid SSLLOGGEROPTS="-name=imapd-ssl" IMAPDSSLSTART=YES IMAPDSTARTTLS=YES IMAP_TLS_REQUIRED=1 COURIERTLS=/usr/bin/couriertls TLS_KX_LIST=ALL TLS_COMPRESSION=ALL TLS_CERTS=X509 TLS_CERTFILE=/etc/courier/imapd.pem TLS_TRUSTCERTS=/etc/ssl/certs TLS_VERIFYPEER=NONE TLS_CACHEFILE=/var/lib/courier/couriersslcache TLS_CACHESIZE=524288 MAILDIRPATH=Maildir # Auch hier kommt AUTH=CRAM-MD5 hinzu IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 IDLE"
Spamassassin
Spamassassin muss aktiviert werden
# /etc/default/spamassassin ENABLED=1 OPTIONS="--create-prefs --max-children 5 --helper-home-dir" PIDFILE="/var/run/spamd.pid" CRON=0
Procmail
Nachdem Postfix Mails aus dem Internet für einen lokalen Benutzer empfangen hat, übergibt er sie an procmail. Procmail wiederum übergibt die Mail an Spamassassin um sie auf Spam zu überprüfen und an clamassassin, der sie weiterreicht an den Virenscanner clamav.
# Eine Beispiel .procmailrc für die Homeverzeichnisse der Mailuser PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin:. MAILDIR=$HOME/Maildir/ DEFAULT=$HOME/Maildir/new LOGFILE=$HOME/procmail.log # SPAMASSASSIN :0fw: /var/run/spam.lock * < 256000 | spamc -f -u $LOGNAME # Alle SPAMS mit Score 10-99 gleich weg :0: * ^X-Spam-Status: Yes, score=[1-9][0-9]\. /dev/null # Alle SPAMS mit Score > 3 gleich weg #:0: #* ^X-Spam-Status: Yes, score=[4-9]\. #/dev/null :0fw | /usr/bin/clamassassin # Rewrite Subject Line, if SpamLevel is high enough. :0fw * ^X-Virus-Status: Yes | sed '1,/^$/s@^Subject:@Subject: /VIRUS!/@' :0: * ^X-Virus-Status: Yes /dev/null # Move SA SPAM MAILS TO SPAM :0: * ^X-Spam-Status: Yes $MAILDIR/.Spam/new # Alle Mails die es ohne Blessuren bis hier geschafft haben, landen automatisch in der Inbox des Users. "Sie haben Post!"
Puh! Das Mailsystem ist fertig! Es fehlen nur noch Benutzer, die Maildirs und die Konfiguration der Virtual-Aliases um festzulegen welche Email-Adressen in welchen lokalen Mailboxen laden. Das folgende Skript legt den UNIX-Systembenutzer an, und denselben Benutzer noch einmal für Postfix in der SASLdb und für Courier in der Courier-Userdb.
Skript zum anlegen neuer User
# Added einen neuen User zum Mailsystem #!/bin/bash clear echo "Neuer User fuer das Mailsystem"; echo "Username eingeben: "; read newuser echo $newuser >> /root/scripts/mail/mail_users.dat # Adding Unix User adduser --ingroup users --quiet --shell /bin/false $newuser echo echo "Linux User wurde angelegt....." echo # Adding Courier Mailboxes maildirmake /home/$newuser/Maildir maildirmake -f Spam /home/$newuser/Maildir maildirmake -f Virus /home/$newuser/Maildir maildirmake -f LerneSpam /home/$newuser/Maildir maildirmake -f LerneKeinSpam /home/$newuser/Maildir maildirmake -f MeineOrdner /home/$newuser/Maildir maildirmake -f Sent /home/$newuser/Maildir maildirmake -f Trash /home/$newuser/Maildir chown -R $newuser.users /home/$newuser/Maildir echo echo "IMAP Mailverzeichnisse wurden angelegt...." echo # Setting SASL Password for Postfix SMTP auth echo echo echo "Passwort für SMTP-Auth angeben (Mails verschicken mit dem Client)" saslpasswd2 $newuser echo echo echo "Passwort für Courier angeben (Zuganspasswort für den IMAPSERVER)" NEWUID=`cat /etc/passwd | grep $newuser | cut -d: -f3` userdb $newuser set home=/home/$newuser uid=$NEWUID gid=100 userdbpw -hmac-md5 | userdb $newuser set imap-hmac-md5pw home=/home/$newuser makeuserdb /etc/init.d/courier-authdaemon restart /etc/init.d/saslauthd restart echo "OK. User angelegt" echo "Weisen Sie dem neuen User bitte noch E-Mail-Adressen zu!" echo echo echo "Datei /etc/postfix/virtual editieren." echo "Danach einmalig ausführen: postmap /etc/postfix/virtual" echo "Danach einmalig ausführen: /etc/init.d/postfix reload"
Skript zum löschen von Usern
echo "Diesen User loeschen:" read DELUSER # aus mail_users_dat kriegt lernespam die mailuser cat /root/scripts/mail/mail_users.dat | grep -v "^$DELUSER$" > /root/scripts/mail/mail_users.dat.tmp rm /root/scripts/mail/mail_users.dat mv /root/scripts/mail/mail_users.dat.tmp /root/scripts/mail/mail_users.dat deluser --remove-home $DELUSER saslpasswd2 -d $DELUSER userdb $DELUSER del makeuserdb /etc/init.d/courier-authdaemon restart /etc/init.d/saslauthd restart
Skript zum manuellen Spam-lernen
#!/bin/bash for user in $(cat /root/scripts/mail/mail_users.dat); do SADIR=/home/$user/.spamassassin NOSPAM=/home/$user/Maildir/.LerneKeinSpam/cur/ for l in $(ls $NOSPAM ); do PRINT=`cat $NOSPAM/$l | grep -e "^From:" | grep -o "[[:alnum:]\.\+\-\_]*@[[:alnum:]\.\-]*" | sort -u` echo "whitelist_from $PRINT" >> $SADIR/user_prefs done # Let SA learn /usr/bin/sa-learn -D --spam /home/$user/Maildir/.LerneSpam/cur /usr/bin/sa-learn -D --ham /home/$user/Maildir/.LerneKeinSpam/cur # Move Stuff mv /home/$user/Maildir/.LerneKeinSpam/cur/* /home/$user/Maildir/cur/ rm /home/$user/Maildir/.LerneSpam/cur/* done exit
Virtual Aliases
Unser Postfix weiss noch gar nicht welche E-Mail-Adressen welchen lokalen Mailboxen zugeordnet sind. Diese Zuordnung wird in der Datei /etc/postfix/virtual geschaffen. Links stehen E-Mail-Adressen oder lokale Absender wie „root“, rechts steht der Username für die IMAP-Mailbox oder eine Ziel-E-Mail-Adresse für Weiterleitungen
# /etc/postfix/virtual root daniel daniel@meinedomain.de daniel daniel@meineanderedomain.de daniel fritz@meinedomain.de fritz alle@meinedomain.de daniel,fritz weiterleitung@meinedomain.de daniel@gmail.com
Danach muss Postfix die virtuellen Aliase neu initialisieren. Das ist nach jeder Änderung der Datei notwendig.
postmap /etc/postfix/virtual
Jetzt ist wirklich alles fertig. Es müssen noch alle Dienste gestartet werden.
/etc/init.d/postfix restart /etc/init.d/courier-imap restart /etc/init.d/courier-imap-ssl restart /etc/init.d/courier-authdaemon restart /etc/init.d/saslauthd restart /etc/init.d/spamassassin restart /etc/init.d/clamav restart
Irgendwas wird sicherlich nicht funktionieren! Zum Debuggen eignet sich /var/log/mail.log ganz gut. In vielen Configdateien kann man das Loglevel hochsetzen um mehr Informationen zu bekommen.
Transport Maps
Um Mails an einen anderen SMTP weiterzurouten, benötigt man Transport-Maps. Sie werden in der Datei /etc/postfix/transport angelegt:
#/etc/postfix/transport # Links lokales Ziel # Rechts SMTP an den weitergeleitet wird daniel-ritter.de smtp:12.13.14.15 daniel-ritter.de smtp:anderer.host.de # Zusätzlich alle Subdomains .daniel-ritter.de smtp:anderer.host.de
#/etc/postfix/main.cf transport_maps = hash:/etc/postfix/transport
# Aktivieren von Änderungen an den Transportmaps postmap /etc/postfix/transport /etc/init.d/postfix reload
Nutzer das Courier-Passwort selbst ändern lassen
echo "Courier Passwort ändern" echo echo echo "Benutzername: " read U echo "Altes Passwort: " read A echo "Neues Passwort: " read N if [ $(echo $N | grep -e ^[0-9]) ]; then echo "Entschuldigung. Passwörter dürfen nicht mit einer Zahl beginnen." exit fi echo -e "$U\0$A\0$N\0" | /opt/courierpasswd --verbose --stderr --stdin --changepw
Hallo
was muss ich hier ändern ????
start-instance)
if [ -f /etc/default/$2 ]; then
start_instance /etc/default/$2
else
log_failure_msg „Instance $2 does not exist.“
fi
;;
das ist diese Zeile eintragen kann ::: PIDFILE=“/var/spool/postfix/var/run/${NAME}/saslauthd.pid“
oder wo genau kommt sie hin????
Danke im vorraus für die Hilfe
Hi Sunny, ich helfe hier gern, habe aber leider keine Zeit dafür privat komplette Server aufzusetzen. Du kannst mich mieten unter http://www.perfectpixel.de
Hi Daniel
Brauche deine Hilfe .
Hi Daniel
Hab mal eine Frage , könntest du mir Postfix bitte einrichten , ich bekomme es nicht hin .
Melde dich bei mir wenn es möglich ist .
Vielen Dank
Soweit funzt es nun, aber nach vieler Googelei musste ich herausfinden, dass postfix kein md5-cram mit authdaemond kann und automatisch saslauthd nimmt. Wie hast du geschafft, dass das so funktionieren soll? :)
ok habs auf /usr/sbin/courierpasswd geschoben
nun folgendes problem:
authdaemond: no imappw or systempw value in userdbshadow
:S Das Passwort fehlt…
Moin,
bei mir fehlt die Datei /opt/courierpasswd
Was kann man da machen?
… also das Howto ist in Ordnung!
Aber eine Frage habe ich noch: Ich habe meinen Debian-Server (mit eigener IP) soweit eingerichtet und es auch hinbekommen, dass er Mail von aussen akzeptiert und den jeweiligen Usern zuordnet. Aber ich bekomme via Thunderbird keine Verbindung zum SMTP-Server um Nachrichten über meinen Server ins WWW zu senden.
Kann mir da jemand helfen?
Danke.
Stanley
Malzeit was muss ich bei
start-instance eigendlich ändern brauche mal eure hilfe
login as: ww1com
ww1com@192.168.0.30’s password:
Linux debian.ww1net.de 2.6.26-2-486 #1 Sat Jun 11 14:47:34 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jul 25 10:57:09 2011 from ww1com.fritz.box
suww1com@debian:~$ su
Passwort:
debian:/home/ww1com# nano /etc/init.d/saslauthd
debian:/home/ww1com# nano /etc/init.d/saslauthd
debian:/home/ww1com# nano /etc/init.d/saslauthd
#! /bin/sh
do_stopall
;;
reload|force-reload)
do_reloadall
;;
restart)
do_stopalluthd startup script
do_startall
;;
start-instance)
if [ -f /etc/default/$2 ]; then
# Author: Fabian Fagerhostart_instance /etc/default/$2
else
# Do NOT „set -e“ log_failure_msg „Instance $2 does not exist.“
fi
# PATH should on;; include /usr/* if it runs after the mountnfs.sh script
stop-instance)
if [ -f /etc/default/$2 ]; then
Suche: stop_instance /etc/default/$2
^C Abbrechen ^O Speichern ^R Datei öffn^Y Seite zurü^K Ausschneid^C Cursor
iX Beenden ^J Ausrichten^W Wo ist ^V Seite vor ^U Ausschn. r^T Rechtschr.
# /etc/init.d/saslauthd
.
.
PIDFILE=“/var/spool/postfix/var/run/${NAME}/saslauthd.pid“
.
.
@sunny: Das ist egal. Du kannst die Skripte ablegen wo Du magst. Zum Beispiel unter /root/scripts, aber natürlich auch irgendwo anders.
Hi , ahb noch mal ein paar fragen
1. unter welchen dateinamen muss ich , Skript zum löschen von Usern angeben.
2. unter welchen dateinamen muss ich , Skript zum manuellen Spam-lernen.
3. unter welchen dateinamen muss ich , Skript zum anlegen neuer User.
Danke für die Hilfe
@Sunny: Das ist egal, Du kannst die Scripte ablegen wo Du magst. Zum Beispiel in /root/scripts
Hallo Dennis
kannst du mir sagen wo ich die erstellten dateien , anlegen neuer User , user löschen u.s.w ablegen muss ?
oute mich wahrscheinlich gerade als noob, aber kann mir einer damit helfen
in der auth habe ich immer dieses eintrag
saslpasswd2: error deleting entry from sasldb: DB_NOTFOUND: No matching key/data pair found
hat sich erledigt… einfach mit irgend einen namen abspeichern (ohne dateiendung) und dann in putty mit ./dateiname ausführen
moin,
finde das tut echt klasse.. doch habe ich irgendwie n problem.. habe alles soweit am laufen, doch was mach ich mit dem skript zum hinzufügen neuer user?.. wie führe ich es aus? oder muss ich vorher die sasldb erstellen? vielen dank für antworten
geklärt :-)
Hallo zusammen,
ich finde dieses Tutorial auch sehr gut!! Ich habe allerdings, genauso wie Dennis noch die offene Frage bzgl. der /root/scripts/mail/mail_users.dat beim Anlegen eines Users. Diese Datei existiert nicht. Handelt es sich um eine leere datei, welche ich einfach mit touch /root/scripts/mail/mail_users.dat anlege?
Danke und viele Grüße
Man verneigt sich… THX! ;)
Moin,
nettes tut :-) Nur habe paar Probleme…
1. Courier
im ersten Absatz muss man was wegen MD5 in der /etc/courier/imapd einfügen. Unter deinem Beispiel ist noch ein Absatz wo soll dieser hin ?
Beim Anlegen eines User findet er die Datei: mail_users.dat nicht ! Wozu soll die da sein ?
Und noch eins wenn ich mir eine E-Mail zuschicke erhalte ich diese Meldung:
—————————-
This is an automatically generated Delivery Status Notification.
Delivery to the following recipients failed.
————————–
in der mail.log steht:
———————————-
Dec 2 12:13:40 HOSTNAME postfix/smtpd[10984]: NOQUEUE: reject: RCPT from bay0-omc2-s11.bay0.hotmail.com[65.54.190.86]: 554 5.7.1 : Relay access denied; from= to= proto=ESMTP helo=
———————————–
Hoffe du kannst mir Tipps geben bzw. helfen ?!
MFG
Dennis
Wenn man folgenden Fehler bekommt, muss man in /etc/init.d/postfix unter FILES=“[…]“ noch etc/sasldb2 hinzufügen, damit die Datei bei jedem start ins chroot von postfix kopiert wird.
postfix/smtpd[20251]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
@Flo: Hey Flo, probier mal in der /etc/courier/authdaemonrc „DEBUG_LOGIN“ hochzusetzen. Danach solltest Du in /var/log/auth.log oder /var/log/mail.log sehen können was schief läuft.
Vielen Dank erstmal für dein Tutorial. Funktioniert soweit alles bis auf das Anmelden mit Thunderbird 3. Meinen Benutzernamen (ohne @domain.de) habe ich eingegeben. Danke für etwaige Tipps.
Sehr guter Artikel, war mir eine große Hilfe! Danke