Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
fortgeschrittene:nss-ldap [2010/12/03 14:18] 127.0.0.1 Externe Bearbeitung |
fortgeschrittene:nss-ldap [2022/09/01 09:53] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== OpenLDAP Server ====== | ||
- | ===== Minimalkonfiguration für nss ===== | ||
- | Der OpenLDAP Server ''slapd'' muß wie in [[ldap]] gezeigt vorkonfiguriert sein. Darüber hinaus sind folgende Einstellungen notwendig: | ||
- | |||
- | ''/etc/ldap/slapd.conf'' (Debian) | ||
- | <file> | ||
- | include /etc/ldap/schema/nis.schema | ||
- | include /etc/ldap/schema/inetorgperson.schema | ||
- | </file> | ||
- | |||
- | ''/etc/openldap/slapd.conf'' (Fedora) | ||
- | <file> | ||
- | include /etc/openldap/schema/nis.schema | ||
- | include /etc/openldap/schema/inetorgperson.schema | ||
- | </file> | ||
- | |||
- | ''/etc/openldap/slapd.conf'' (SuSE) | ||
- | <file> | ||
- | include /etc/openldap/schema/inetorgperson.schema | ||
- | include /etc/openldap/schema/rfc2307bis.schema | ||
- | include /etc/openldap/schema/yast.schema | ||
- | </file> | ||
- | |||
- | ===== OrganizationalUnits anlegen ===== | ||
- | OrganizationalUnits "people" und "groups" für Benutzer und Gruppen im LDAP-Baum anlegen: (( Die Kursschreibweise ''ldapadd -x -W'' ohne Angabe des Admin-Kontos funktioniert nur, wenn vorher eine Konfigurationsdatei ''.ldaprc'' oder ''ldap.conf'' angelegt wurde )) | ||
- | <code bash> | ||
- | DOMAIN="dc=linuxhotel,dc=de" | ||
- | ldapadd -x -W <<LDIF | ||
- | </code> | ||
- | <file> | ||
- | dn: ou=people,$DOMAIN | ||
- | objectClass: top | ||
- | objectClass: organizationalUnit | ||
- | ou: people | ||
- | |||
- | dn: ou=groups,$DOMAIN | ||
- | objectclass: top | ||
- | objectclass: organizationalUnit | ||
- | ou: groups | ||
- | </file> | ||
- | <code bash>LDIF</code> | ||
- | |||
- | |||
- | ===== Gruppe anlegen ===== | ||
- | <code bash> | ||
- | DOMAIN="dc=linuxhotel,dc=de" | ||
- | ldapadd -x -W <<LDIF | ||
- | </code> | ||
- | |||
- | Debian, RedHat: | ||
- | <file> | ||
- | dn: cn=ldapusers,ou=groups,$DOMAIN | ||
- | objectClass: top | ||
- | objectClass: posixGroup | ||
- | gidNumber: 10000 | ||
- | cn: ldapusers | ||
- | </file> | ||
- | |||
- | SuSE: | ||
- | <file> | ||
- | dn: cn=ldapusers,ou=groups,$DOMAIN | ||
- | objectClass: top | ||
- | objectClass: groupOfNames | ||
- | objectClass: posixGroup | ||
- | memberUid: nutzer | ||
- | member: uid=nutzer,ou=people,$DOMAIN | ||
- | gidNumber: 10000 | ||
- | cn: ldapusers | ||
- | </file> | ||
- | <code bash>LDIF</code> | ||
- | |||
- | |||
- | |||
- | ===== Benutzer anlegen ===== | ||
- | <code bash> | ||
- | DOMAIN="dc=linuxhotel,dc=de" | ||
- | </code> | ||
- | ldapadd -x -W <<LDIF | ||
- | <file> | ||
- | dn: uid=nutzer,ou=people,$DOMAIN | ||
- | objectClass: top | ||
- | objectClass: posixAccount | ||
- | objectClass: account | ||
- | cn: mein nutzer | ||
- | uid: nutzer | ||
- | uidNumber: 10000 | ||
- | gidNumber: 10000 | ||
- | homeDirectory: /home/nutzer | ||
- | userPassword: passwort | ||
- | loginShell: /bin/bash | ||
- | </file> | ||
- | <code bash>LDIF</code> | ||
====== nss-ldap Client ====== | ====== nss-ldap Client ====== | ||
===== Benötigte Pakete ===== | ===== Benötigte Pakete ===== | ||
- | Debian: | + | Debian: (( alternativ und vielleicht sogar besser: ''sssd'' oder ''libnss-ldapd'' )) |
- | libnss-ldap | + | libnss-ldap nscd |
SuSE: | SuSE: | ||
Zeile 102: | Zeile 10: | ||
RedHat: | RedHat: | ||
nss_ldap | nss_ldap | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Minimalkonfiguration ===== | ===== Minimalkonfiguration ===== | ||
Zeile 127: | Zeile 28: | ||
DEBCONF | DEBCONF | ||
- | |||
- | ''/etc/nsswitch.conf'' : | ||
- | <file> | ||
- | passwd: compat | ||
- | passwd_compat: ldap | ||
- | group: compat | ||
- | group_compat: ldap | ||
- | shadow: compat | ||
- | shadow_compat: ldap | ||
- | </file> | ||
- | |||
- | echo '+' >> /etc/passwd | ||
- | echo '+' >> /etc/group | ||
- | echo '+' >> /etc/shadow | ||
''/etc/libnss-ldap.conf'' (Debian): | ''/etc/libnss-ldap.conf'' (Debian): | ||
Zeile 151: | Zeile 38: | ||
#ssl start_tls | #ssl start_tls | ||
</file> | </file> | ||
+ | |||
+ | ''/etc/nsswitch.conf'' : | ||
+ | <file> | ||
+ | passwd: files ldap | ||
+ | group: files ldap | ||
+ | shadow: files ldap | ||
+ | </file> | ||
+ | oder | ||
+ | <file> | ||
+ | passwd: compat | ||
+ | group: compat | ||
+ | shadow: compat | ||
+ | passwd_compat: ldap | ||
+ | group_compat: ldap | ||
+ | shadow_compat: ldap | ||
+ | </file> | ||
+ | |||
+ | echo '+::::LDAP User::' >> /etc/passwd | ||
+ | echo '+:::' >> /etc/group | ||
+ | echo '+::::::::' >> /etc/shadow | ||
Zeile 157: | Zeile 64: | ||
/etc/init.d/nscd stop | /etc/init.d/nscd stop | ||
- | Oder ''nscd'' sagen, das es was neues gibt: | + | (( |
+ | Was in dem Fall meiner Erfahrung nach nicht funktioniert: | ||
+ | dem ''nscd'' sagen, das es was neues gibt: | ||
touch /etc/passwd | touch /etc/passwd | ||
+ | touch /etc/group | ||
+ | oder | ||
+ | nscd -i | ||
+ | )) | ||
Benutzeraccounts abfragen: | Benutzeraccounts abfragen: | ||
getent passwd | getent passwd | ||
+ | |||
Gruppen abfragen: | Gruppen abfragen: | ||
getent group | getent group | ||
+ | |||
Als root zum neuen Benutzer wechseln | Als root zum neuen Benutzer wechseln | ||
su - iw | su - iw | ||
====== Dokumentation & Links ====== | ====== Dokumentation & Links ====== | ||
- | ===== Skripte zur Migration von Benutzerdaten und mehr ===== | + | ===== Passwort ändern ===== |
+ | ldappasswd -h ldapserver -D uid=LOGINNAME,ou=People,dc=linuxhotel,dc=de -W -S | ||
+ | |||
+ | ===== Migration von Benutzerdaten und mehr ===== | ||
* http://www.padl.com/OSS/MigrationTools.html | * http://www.padl.com/OSS/MigrationTools.html | ||
Zeile 181: | Zeile 99: | ||
TODO: | TODO: | ||
* Benutzer ohne Passwörter | * Benutzer ohne Passwörter | ||
+ | |||
+ | |||
+ | |||
+ | |||
===== Webmin - Modul LDAP Useradmin ===== | ===== Webmin - Modul LDAP Useradmin ===== |