LDAP-Login konfigurieren
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
Inhaltsverzeichnis
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