Dies ist eine alte Version des Dokuments!
FH-Complete unterstützt die Authentifizierung gegen Openldap und Active Directory.
Um eine Verbindung mit dem LDAP Server herstellen zu können muss das LDAP Addon installiert sein.
Falls eine Verschlüsselte Verbindung zum LDAP Server möglich ist, muss in der Datei /etc/ldap/ldap.conf das entsprechende Zertifikat eingetragen werden wenn dieses selbst signiert ist oder nicht öffentlich bekannt.
TLS_CACERT /etc/ssl/certs/meincazertifikat.crt TLS_REQCERT demand
Zu Testzwecken und zur Fehlersuche kann es sinnvoll sein, die Zertifikatsprüfung zu deaktivieren:
TLS_REQCERT never
Dies betrifft jedoch nur die PHP ldap Funktionen und die Commandline Funktionen (zB ldap_search) Die Authentifizierung über .htaccess prüft das Zertifikat weiterhin. Um diese Prüfung zu deaktivieren wird in der Datei /etc/apache2/mods-enabled/ldap.conf foglendes gesetzt:
LDAPVerifyServerCert off
auth_ldap authenticate: user foo authentication failed; URI /secret [ldap_search_ext_s() for user failed][Operations error]
Falls dieser Fehler Auftritt muss folgender Eintrag in der Datei /etc/ldap/ldap.conf hinzugefügt werden:
REFERRALS off
Wird auf einen Active Directory zugegriffen muss in diesem Fall in der .htaccess Datei in der AuthLDAPURL der Port 3268 angegeben werden:
AuthLDAPURL ldap://ad.example.com:3268/dc=academic,dc=local?sAMAccountName?sub
Sollte der Login im FH-Complete nicht funktionieren, kann der Zugriff auf den LDAP Server von der Commandline geprüft werden.
Dazu werden die LDAP-Utils benötigt:
apt-get install ldap-utils
Danach kann der Zugriff auf den LDAP Server und der Login geprüft werden:
Zugriff ohne Verschlüsselung:
ldapsearch -LLL -x -H ldap://ldap.example.com:389 "samaccountname=testuser"
Zugriff mit STARTTLS Verschlüsselung
ldapsearch -LLL -x -ZZ -H ldap://ldap.example.com:389 "samaccountname=testuser"
Zugriff mit SSL Verschlüsselung
ldapsearch -LLL -x -H ldaps://ldap.example.com:636 "samaccountname=testuser"
Sollte der LDAP Server einen Bind User benötigen kann folgender Befehl verwendet werden:
ldapsearch -LLL -x -D "cn=administrator,dc=academic,dc=local" -W -H ldap://ldap.example.com:389 "samaccountname=testuser"
Gruppen anlegen auf der Commandline
samba-tool group add teacher
User anlegen auf der Commandline
samba-tool user add fhcomplete
User zu Gruppen hinzufügen
samba-tool group addmembers teacher fhcomplete
Weitere Funktionen https://www.samba.org/samba/docs/man/manpages/samba-tool.8.html