ProFTPD gegen LDAP authentifizieren

Der ProFTPD hat sich etwas zickig, wenn es um eine Authentifizierung via PAM und LDAP geht. Auch wenn pamtester bestätigt, dass die PAM-Konfiguration funktioniert, meint ProFTPD nur lapidar: „no such user found“.
Aber ProFTPD bietet erfreulicherweise noch einen anderen Weg, eine Authentifizierung via LDAP vorzunehmen: mod_ldap.

Die Konfiguration von mod_ldap ist denkbar trivial.
Zunächst wird mod_ldap.c als einziges Modul für die Anweisung AuthOrder eingetragen.
Mit LoadModuel mod_ldap.c wird das Modul geladen und wie folgt konfiguriert:

  • LDAPServer HOSTNAME – der Server, gegen den die Authentifizierung erfolgen soll
  • LDAPAuthBinds on – die Authentifizierung erfolgt durch einen Aufruf von bind mit dem Passwort
  • LDAPDoAuth on BASE FILTER – Basis für die Suche nach Nutzern und Filter
  • LDAPAliasDereference always – Aliase immer auflösen, empfehlenswert, wenn man Aliase verwendet, sonst nicht nötig
  • LDAPDoUIDLookups on BASE – Basis für die Suche nach Nutzern
  • LDAPDoGIDLookups on BASE – Basis für die Suche nach Gruppen

Hier noch eine Beispielkonfiguration:

<Global>
# ...
  AuthOrder mod_ldap.c
# ...
</Global>

LoadModule mod_ldap.c

<IfModule mod_ldap.c>
  LDAPServer localhost
  LDAPAuthBinds on
  LDAPDoAuth on "ou=people,ou=ahost,ou=hosts,dc=my-domain,dc=com" \ "(&(uid=%v)(objectclass=posixAccount))"
  LDAPAliasDereference always
  LDAPDoUIDLookups on "ou=people,ou=ahost,ou=hosts,dc=my-domain,dc=com"
  LDAPDoGIDLookups on "ou=group,ou=ahost,ou=hosts,dc=my-domain,dc=com"
</IfModule>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.