| die letzten Änderungen * Seitenstruktur * Stichwortsuche :


logo_puschin.jpg

Startseite

Knowledge base



Kontakt

Impressum

Knowledge base - Mailsysteme

Knowledge base

9 Benutzer online Druckversion




zurück



Mailsysteme
Eigenen Authentifizierungsdienst für Courier IMAP (gegen Active Directory)

Achtung - nur zu Demo-Zwecken!

/etc/courier/authdaemonrc:

##NAME: authmodulelist:2
#
# The authentication modules that are linked into authdaemond.  The
# default list is installed.  You may selectively disable modules simply
# by removing them from the following list.  The available modules you
# can use are: authuserdb authpam authpgsql authldap authmysql authcustom authpipe

authmodulelist="authpipe"



/etc/courier/authProg:

#!/bin/bash

#
# authProg für Windows-Active Directory
#

# Implementierung nach:
#
# http://www.courier-mta.org/authlib/README_authlib.html#authpipeproto

# Versionen:
#
# 23.01.2015    fp      Initiales Release
# 26.01.2015    fp      Erstes funktionales Release

while read  zeile
do

        echo "$zeile" | logger

        if [ "$METHOD" == "AUTH" -a "$ACTION" == "LOGIN" -a "$PROTO" == "IMAP" -a "$USERNAME" != "" ]; then
                PASSWORD=$zeile

                echo "Passwort ist >> $PASSWORD <<" | logger

                #echo "Jetzt habe ich alles: $USERNAME/XXXXXXXXXXXX" | logger

                FQDN=`ldapsearch -x -h 192.168.178.10 "cn=$USERNAME" -D "cn=Administrator,cn=Users,dc=XXX,dc=de" -wYYY -b "dc=XXX,dc=de" dn | grep "dn: " | sed 's/dn: //g'`
                echo "FQDN: $FQDN" | logger

                if [ "$FQDN" == "" ]; then
                    echo "Der Benutzer >> $USERNAME << wurde nicht im Active-Directory gefunden." | logger
                    echo "FAIL"
                else
                    BIND=`ldapsearch -x -h 192.168.178.10 "cn=$USERNAME" -D "$FQDN" -w$PASSWORD -b "dc=XXX,dc=de"`
                    ERR=$?

                    echo "Returncode beim Bind: $ERR" | logger

                    if [ "$ERR" == "0" ]; then
                        #echo "Ich sende die Daten (foobar)" | logger
                        echo "ADDRESS=$USERNAME@XXX.de"
                        echo "HOME=/home/$USERNAME"
                        USER_ID=`id $USERNAME -u`
                        GROUP_ID=`id $USERNAME -g`
                        echo "GID=$GROUP_ID"
                        echo "UID=$USER_ID"
                        echo "."
                    else
                        echo "Kennwort vielleicht falsch?" | logger
                        echo "FAIL"
                    fi
                fi

                USERNAME=""
                PASSWORD=""
                PROTO=""
                METHOD=""
                ACTION=""
        fi

        if [ "$METHOD" == "AUTH" -a "$ACTION" == "LOGIN" -a "$PROTO" == "IMAP" -a "$USERNAME" == "" ]; then
                USERNAME=$zeile
                echo "Username ist $USERNAME" | logger
        fi

        if [ "$zeile" == "login" -a "$METHOD" == "AUTH" -a "$PROTO" == "IMAP" ]; then
                ACTION=LOGIN
                echo "Action empfangen ..." | logger
        fi

        if [ "`echo $zeile | grep imap`" != "" -a "$METHOD" == "AUTH" ]; then
                PROTO=IMAP
                #echo "Protokoll empfangen ..." | logger
        fi

        if [ "`echo $zeile | grep AUTH`" != "" ]; then
                METHOD=AUTH
                #echo "AUTH empfangen ..." | logger
        fi

done


zurück



Knowledge base wurde zuletzt bearbeitet am 12.07.13 durch Frank

www.puschin.de
login

<body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#000000' text='#000000'><font face='Verdana' size='2'><strong>www.puschin.de</strong><br>Die Webseite http://www.puschin.de bietet eine interessante Webseite zu vielen Themen aus dem Bereich Linux und Windows. Man findet hier Tipps und Tricks zu cms php apache postfix openxchange tomcat windows linux firewall <br><br><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=191'>Startseite</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=63'>Knowledge base</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=57'>Kontakt</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=9'>Impressum</a></body>