Benutzer-Werkzeuge

Webseiten-Werkzeuge


ldap-authentisierungsmodul

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ldap-authentisierungsmodul [2017/11/15 10:01] – [usersuffix] lwsystemsldap-authentisierungsmodul [2021/10/13 12:58] (aktuell) – [groupmailattr] lwsystems
Zeile 1: Zeile 1:
 ====== LDAP-Authentisierungsmodul ====== ====== LDAP-Authentisierungsmodul ======
  
-===== Konfiguration ===== 
- 
-Die Anbindung an [[Active Directory]] erfolgt ebenfalls per LDAP. Die Konfiguration des Moduls ist [[Active Directory|hier]] beschrieben. 
  
 Die Authentisierung gegen ein LDAP-Verzeichnis ist mit Hilfe eines [[Externe Authentisierungsschnittstelle| Authentisierungsmoduls]] möglich. Zur Anbindung des LDAP-Moduls wird die Authentisierung auf "extern" umgestellt. Die Authentisierung gegen ein LDAP-Verzeichnis ist mit Hilfe eines [[Externe Authentisierungsschnittstelle| Authentisierungsmoduls]] möglich. Zur Anbindung des LDAP-Moduls wird die Authentisierung auf "extern" umgestellt.
Zeile 13: Zeile 10:
 Das LDAP-Authentisierungsmodul wird per Symlink in das Verzeichnis des Authentisierungs-Stacks aktiviert: Das LDAP-Authentisierungsmodul wird per Symlink in das Verzeichnis des Authentisierungs-Stacks aktiviert:
  
-<code bash>ln -s /usr/lib/benno-web/benno_ldapauth /etc/benno-web/auth.d/</code>+<code>ln -s /usr/lib/benno-web/benno_ldapauth /etc/benno-web/auth.d/</code>
    
 +===== Active Directory =====
 +
 +
 +Die Anbindung an [[Active Directory]] erfolgt ebenfalls per LDAP. Die Eigenheiten der Konfiguration von ist [[Active Directory|hier]] beschrieben.
  
-====== Konfiguration ======+====== LDAP Anbindung ======
  
 Die Konfiguration zur Kommunikation mit dem LDAP-Server werden in der Datei ''[[:konfigurationsbeispiele:ldapauth.conf|/etc/benno-web/ldapauth.conf]]'' vorgenommen. Die Konfiguration zur Kommunikation mit dem LDAP-Server werden in der Datei ''[[:konfigurationsbeispiele:ldapauth.conf|/etc/benno-web/ldapauth.conf]]'' vorgenommen.
Zeile 22: Zeile 23:
 Die in der Datei auskommentierten Angaben für die einzelnen Parameter sind Voreinstellungen, die auch mit Kommentarzeichen aktiv sind. Die in der Datei auskommentierten Angaben für die einzelnen Parameter sind Voreinstellungen, die auch mit Kommentarzeichen aktiv sind.
  
-===== ldapauth.conf =====+===== Konfigurationsdatei ldapauth.conf =====
  
 Die folgenden Anpassungen sind für die Anbindung von Benno MailArchiv an einen LDAP-Server notwendig. Die folgenden Anpassungen sind für die Anbindung von Benno MailArchiv an einen LDAP-Server notwendig.
  
-==== host ====+==== Benutzer-Authentisierung ==== 
 + 
 +=== host ===
  
   host = ldap.lw-systems.de   host = ldap.lw-systems.de
  
 Der Hostname oder die IP-Adresse des LDAP-Server. Falls der Dienst nicht an den Standard-Port 389 gebunden ist, wird der Port mit einem  Doppelpunkt getrennt angegeben. Der Hostname oder die IP-Adresse des LDAP-Server. Falls der Dienst nicht an den Standard-Port 389 gebunden ist, wird der Port mit einem  Doppelpunkt getrennt angegeben.
 +Ein Backup-Host kann hier durch ein Komma getrennt angegeben werden.
  
-==== basedn ====+=== basedn ===
  
   basedn = dc=lw-systems,dc=net   basedn = dc=lw-systems,dc=net
Zeile 38: Zeile 42:
 Die BaseDN des LDAP-Verzeichnisses. Die BaseDN des LDAP-Verzeichnisses.
  
-==== userattr ====+=== userattr ===
  
   userattr = uid   userattr = uid
Zeile 44: Zeile 48:
 Der Benutzername wird hier angegebenen Attribut gesucht. Bei der Authentisierung gegen eine Windows AD Domäne muss der Parameter auf //sAMAccountName// gesetzt werden. Der Benutzername wird hier angegebenen Attribut gesucht. Bei der Authentisierung gegen eine Windows AD Domäne muss der Parameter auf //sAMAccountName// gesetzt werden.
  
-==== usersuffix ====+=== usersuffix ===
  
   usersuffix = ou=users,dc=lw-systems,dc=net   usersuffix = ou=users,dc=lw-systems,dc=net
  
-In der Voreinstellung bei nicht belegtem Wert von //usersuffix// wird eine Suche im LDAP nach dem Userobjekt durchgeführt. Dieses erfordert die Möglichkeit eines anonymen Bind am LDAP Verzeichnis oder die Konfiguration der //[[#binddn]]// und mit entsprechendem //[[#passwort]].+In der Voreinstellung bei nicht belegtem Wert von //usersuffix// wird eine Suche im LDAP nach dem Userobjekt durchgeführt. Dieses erfordert die Möglichkeit eines anonymen Bind am LDAP Verzeichnis oder die Konfiguration der //[[#binddn]]// und mit entsprechendem //[[#passwort]]//.
  
 Falls keine Suche möglich ist, wird hier der //vollständige// distinguished Name der OU angegeben, in der die Userobjekte gespeichert sind. Beim Login des Users wird dann ein Bind mit uid=<username> und dem Wert von "usersuffix" durchgeführt. Falls keine Suche möglich ist, wird hier der //vollständige// distinguished Name der OU angegeben, in der die Userobjekte gespeichert sind. Beim Login des Users wird dann ein Bind mit uid=<username> und dem Wert von "usersuffix" durchgeführt.
  
  
-==== objectclass ====+=== objectclass ===
    
   objectclass = posixAccount   objectclass = posixAccount
Zeile 59: Zeile 63:
 Der Filter der Objektklasse, die ein User Account besitzen muss. Windows AD erfordert hier die Einstellung //user//. Der Filter der Objektklasse, die ein User Account besitzen muss. Windows AD erfordert hier die Einstellung //user//.
  
-==== userfilter ====+=== userfilter ===
  
   userfilter = (&(objectClass=posixAccount)(uid=%s))   userfilter = (&(objectClass=posixAccount)(uid=%s))
Zeile 67: Zeile 71:
 Falls diese Einstellung aktiv ist, werden die Werte von //[[#userattr]]// und //[[#objectclass]]// ignoriert. Falls diese Einstellung aktiv ist, werden die Werte von //[[#userattr]]// und //[[#objectclass]]// ignoriert.
  
-==== tls ====+=== tls ===
  
   tls = false   tls = false
Zeile 74: Zeile 78:
  
  
-==== binddn ====+=== binddn ===
  
   binddn = cn=admin,dc=lw-systems,dc=net   binddn = cn=admin,dc=lw-systems,dc=net
Zeile 80: Zeile 84:
 Falls aktiviert, führt das Authentisierungsmodul zuerst eine LDAP Bind mit diesem Benutzer-DN und dem u.a. [[#password]] durch. Falls aktiviert, führt das Authentisierungsmodul zuerst eine LDAP Bind mit diesem Benutzer-DN und dem u.a. [[#password]] durch.
  
-==== email / alias ====+=== email / alias ===
  
   email = mail   email = mail
Zeile 86: Zeile 90:
  
 Aus den hier konfigurierten LDAP-Attributen werden die gültigen E-Mail Adressen eines Benutzers ermittelt. Aus den hier konfigurierten LDAP-Attributen werden die gültigen E-Mail Adressen eines Benutzers ermittelt.
 +Hier können per Komma getrennt jeweils mehrere Attribute angebeben werden.
 +Beispiel: ''alias = emailAlias, mailAlternativeAddress''  
  
- +=== addemail ===
-==== addemail ====+
  
   addemail = mitarbeiter@lw-systems.net   addemail = mitarbeiter@lw-systems.net
Zeile 94: Zeile 99:
 Die hier konfigurierten Adressen werden allen Benutzern als zusätzliche E-Mail Adresse zugeordnet. Die Liste der Adressen wird mit Komma und Leerzeichen getrennt. Die hier konfigurierten Adressen werden allen Benutzern als zusätzliche E-Mail Adresse zugeordnet. Die Liste der Adressen wird mit Komma und Leerzeichen getrennt.
  
-==== role ====+=== role ===
  
   role = bennoRole   role = bennoRole
Zeile 100: Zeile 105:
 Dieses (String-) Attribut enhält die Rolle, die dem User beim Login zugeordnet wird.  Falls hier nichts eingetragen ist, bekommen jeder Benutzer mindestens die Role //USER//. Dieses (String-) Attribut enhält die Rolle, die dem User beim Login zugeordnet wird.  Falls hier nichts eingetragen ist, bekommen jeder Benutzer mindestens die Role //USER//.
  
-==== container ====+=== container ===
  
   container = bennoContainer   container = bennoContainer
Zeile 106: Zeile 111:
 Dieses (String-) Attribut enhält den Container auf den der benutzer nach dem Login zugreifen darf. Falls kein entsprechendes Attribut konfiguriert ist, wird die Einstellung von [[#default_container]] übernommen. Dieses (String-) Attribut enhält den Container auf den der benutzer nach dem Login zugreifen darf. Falls kein entsprechendes Attribut konfiguriert ist, wird die Einstellung von [[#default_container]] übernommen.
  
-==== default_container ====+=== default_container ===
  
   default_container = BennoContainer   default_container = BennoContainer
Zeile 112: Zeile 117:
 Jeder Benutzer erhält beim Login auf diesen Container Zugriff. Der Container //BennoContainer// ist der voreingestellte Container bei der Archivierung und sollte ohne wichtigen Grund nicht geändert werden. Jeder Benutzer erhält beim Login auf diesen Container Zugriff. Der Container //BennoContainer// ist der voreingestellte Container bei der Archivierung und sollte ohne wichtigen Grund nicht geändert werden.
  
-==== adminuser ====+=== adminuser ===
  
   adminuser = bennoadmin, superadmin   adminuser = bennoadmin, superadmin
Zeile 118: Zeile 123:
 Liste von Benutzernamen, die nach dem Login die Rolle //ADMIN// zugewiesen bekommen. Liste von Benutzernamen, die nach dem Login die Rolle //ADMIN// zugewiesen bekommen.
  
-==== revisoruser ====+=== revisoruser ===
  
   revisoruser = revisor   revisoruser = revisor
Zeile 124: Zeile 129:
 Liste von Benutzernamen, die nach dem Login die Rolle //REVISOR// zugewiesen bekommen. Liste von Benutzernamen, die nach dem Login die Rolle //REVISOR// zugewiesen bekommen.
  
 +=== filter_before-created ===
  
-==== loglevel ====+Default: //false// 
 + 
 +Falls dieser Wert auf //true// gesetzt wird, wird das Attribut "whenCreated" (ActiveDirectory) ausgelesen und hiermit ein Filterstring generiert, der den Zugriff auf E-Mails vor dem Erstellungsdatum des Users unterbindet. 
 + 
 +=== loglevel ===
  
   loglevel = 0   loglevel = 0
Zeile 131: Zeile 141:
 Loglevel des Authentisierungsmoduls beim Debgging über die Kommandozeile. Loglevel des Authentisierungsmoduls beim Debgging über die Kommandozeile.
  
-  echo -e "<username>\n<password>" | /etc/benno-web/benno_ldapauth+  echo -e "<username>\n<password>" | /etc/benno-web/auth.d/benno_ldapauth
  
 +==== Gruppen-Zuordnung ====
 +
 +Das Modul ''benno_ldapgroups'' ermöglicht die Zuordnung von E-Mail Adressen, die die für Benutzergruppen konfiguriert sind.Alle Benutzer der Gruppe dürfen auf E-Mails der Gruppenadresse zugreifen.
 +
 +Das Modul wird mit dem Kommando\\
 +''ln -s /usr/lib/benno-web/benno_ldapgroups /etc/benno-web/auth.d/''\\
 +aktiviert.
 +
 +Dieses Authentisierungs-Modul ist mit Benno Web 2.4.1 verfügbar.
 +=== groupobjectclass ===
 +
 +  groupobjectclass = posixGroup
 +
 +Die Objektklasse der gültigen Gruppen für die Zuordnung.
 +
 +=== groupuserattr ===
 +
 +  groupuserattr = memberUid
 +
 +Der Benutzername wird in diesem Attribut der Gruppe gesucht.  Falls in der Gruppe der Bentzername gesetzt ist,
 +wird die E-Mail Adresse aus dem [[#groupmailattr]] gelesen.
 + 
 +=== groupmailattr ===
  
 +  groupmailattr = univentionFreeAttribute15
  
 +Dieses Attribut enthält E-Mail Adressen, die der Gruppe zugeordnet sind. Als Beispiel wurde hier die Konfiguration einer  [[konfigurationsbeispiele:univention:erweiterte_attribute|UCS Domäne]] herangezogen.
  
 ===== Schemaerweiterung ===== ===== Schemaerweiterung =====
  
-Das LDAP-Schema kann mit spezifischen Attributen für Benno MailArchiv wie in der [[benno-ldap.schema|Schemadefinition]] beschrieben, erweitert werden.\\+Das LDAP-Schema kann mit spezifischen Attributen für Benno MailArchiv erweitert werden. Das Schema ist in der [[benno-ldap.schema|Schemadefinition]] beschrieben.\\
  
-Diese Attribute werden dann in der Konfigurationsdatei [[:konfigurationsbeispiele:ldapauth.conf|ldapauth.conf]] entsprechend adressiert.+Diese Attribute müssen in der Konfigurationsdatei [[:konfigurationsbeispiele:ldapauth.conf|ldapauth.conf]] entsprechend adressiert werden.
  
  
ldap-authentisierungsmodul.1510740109.txt.gz · Zuletzt geändert: 2017/11/15 10:01 von lwsystems