LDAP-Login konfigurieren

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

Wir haben jetzt einen zentralen LDAP (:mrgreen:). Wenn du deinen eigenen Rechner daran anbinden möchtest, kannst du das wie folgt tun:

Zunächst müssen die Pakete libpam-ldap und libnss-ldap installiert werden:

apt-get install libpam-ldap libnss-ldap

Zugang einrichten

Hier die von mir vorgenommene Konfiguration:

/etc/libnss-ldap.conf

host domina.zerties.org
base dc=zerties,dc=org
ldap_version 3
rootbinddn cn=admin,dc=zerties,dc=org

Das Passwort von cn=admin,dc=zerties,dc=org in /etc/libnss-ldap.secret ablegen, chmod 600.

/etc/pam_ldap.conf

base dc=zerties,dc=org
host domina.zerties.org
ldap_version 3
rootbinddn cn=admin,dc=zerties,dc=org
pam_password crypt

Das Passwort entsprechend in /etc/pam_ldap.secret ablegen, chmod 600.

nsswitch konfigurieren

Es bietet sich an, ldap jeweils nachrangig zu konfigurieren. Das hat den Vorteil, dass das System noch läuft (sprich du dich anmelden kannst), wenn der LDAP nicht erreichbar ist. Beispielsweise DSL-Verbindung weg oder so.

In der /etc/nsswitch.conf solltest du etwa folgende Einträge haben:

passwd:         files ldap
group:          files ldap
shadow:         files

Die anderen Einträge sollten natürlich (unverändert) drin bleiben ;-)

Es bietet sich an, jetzt alle Benutzer aus der /etc/passwd zu werfen, dass auch wirklich die Einträge aus dem LDAP zum Zug kommen. Das gleiche gilt selbstverständlich für /etc/group. Die Systembenutzer sind nicht im LDAP, gehören da auch nicht hin, sprich die solltest du tunlichst nicht aus der Datei löschen, allen voran root.

/etc/init.d/nscd restart

Der id-Befehl sollte jetzt schon Informationen aus dem LDAP liefern

stesie@sledgehammer:~$ id test
uid=1004(test) gid=1001(git) groups=1001(git)

Wenn das nicht geht, id beispielsweise jammert, dass der Benutzer nicht existiert, mal in die /var/log/auth.log gucken. Meist ist dann das Kennwort bzw. der CN falsch konfiguriert.

PAM Konfiguration

Das PAM von Debian unstable hat pam-auth-update an Bord, das sich um das Erforderliche selbständig kümmert.

Home-Verzeichnis automatisch anlegen

Die Benutzer brauchen natürlich ein Home-Verzeichnis, das man nicht unbedingt selbst anlegen möchte. Es bietet sich an, die folgende Zeile in die /etc/pam.d/common-session mit aufzunehmen

session     required      pam_mkhomedir.so skel=/etc/skel umask=0022

Login nur bestimmter Gruppen zulassen

Hierzu können wir das PAM-Modul pam_access.so verwenden.

Dazu schreiben wir zum Beispiel Folgendes in /etc/security/access.conf:

+ : root : ALL
+ : (zerties) : ALL
- : ALL : ALL

Der Benutzer root darf sich von überall einloggen, alle Benutzer der Gruppe zerties ebenfalls. Der Rest darf nicht (letzte Zeile).

Last but not least, das Modul in /etc/pam.d/common-account hinzufügen:

account  required       pam_access.so