===== Die Struktur des IServ-LDAP =====
Die Base-DN kann über
cat /var/lib/iserv/server-openldap/ldapdn
ermittelt werden. Wenn der IServ über die Domain https://www.schule.tld erreichbar wäre, würde die Base-DN lauten:
**dc=schule, dc=tld**
Bei den Attributen sind nur solche gelistet, die sich bei einem Import sinnvoll verwenden lassen.
Mit
slapcat > openLDAP.ldif
erhält man eine Textdatei im LDIF-Format, aus der man die Struktur des IServ-LDAP auslesen kann.
==== Benutzerkontext ====
| @#F61303:**LDAP-Kontext** | @#F61303:**Verfügbare Attribute** | @#F61303:**Erläuterung/Kommentar** |
| ou=users, dc=schule, dc=tld | | Wird angegeben für die Suche von Nutzer:innen |
| @lightgrey: | @lightgrey:dc: schule | @lightgrey: |
| | o: schule.tld | |
==== Benutzerobjekt ====
| @#F61303:**LDAP-Kontext** | @#F61303:**Verfügbare Attribute** | @#F61303:**Erläuterung/Kommentar** |
| cn=vorname.nachname, ou=users, dc=schule, dc=tld | | |
| @lightgrey: | @lightgrey:uid: vorname.nachname | @lightgrey: |
| | cn: vorname.nachname | |
| @lightgrey: | @lightgrey:givenName: vorname | @lightgrey: |
| | sn: nachname | |
| @lightgrey: | @lightgrey:userPassword: | @lightgrey: |
| | uidNumber: Linux-Usernummer | kann theoretisch neu vergeben werden |
| @lightgrey: | @lightgrey:gidNumber: Linux-Gruppennummer | @lightgrey:kann theoretisch neu vergeben werden |
| | gecos: Vorname Nachname | |
| @lightgrey: | @lightgrey:mail: vorname.nachname@schule.tld | @lightgrey: |
| | uuid: | eindeutige, einmalige ID-Nummer |
| @lightgrey: | @lightgrey:memberOf: | @lightgrey: |
| | memberOf: | |
| @lightgrey: | @lightgrey:memberOf: | @lightgrey: |
==== Gruppenkontext ====
| @#F61303:**LDAP-Kontext** | @#F61303:**Verfügbare Attribute** | @#F61303:**Erläuterung/Kommentar** |
| ou=groups, dc=schule, dc=tld | | Wird angegeben für die Suche von Gruppen |
| @lightgrey: | @lightgrey:ou: groups | @lightgrey: |
==== Gruppenobjekt ====
| @#F61303:**LDAP-Kontext** | @#F61303:**Verfügbare Attribute** | @#F61303:**Erläuterung/Kommentar** |
| cn=gruppenname, ou=groups, dc=schule, dc=tld | | |
| @lightgrey: | @lightgrey:cn: Gruppenname | @lightgrey: |
| | gidNumber: Linux-Gruppennummer | kann theoretisch neu vergeben werden |
| @lightgrey: | @lightgrey:uuid: Linux-Gruppennummer | @lightgrey: eindeutige, einmalige ID-Nummer |
| | memberUid: Benutzername 1 | |
| @lightgrey: | @lightgrey:memberUid: Benutzername 2 | @lightgrey: |
| | memberUid: Benutzername n | |
==== Rollenkontext ====
| @#F61303:**LDAP-Kontext** | @#F61303:**Verfügbare Attribute** | @#F61303:**Erläuterung/Kommentar** |
| ou=roles, dc=schule, dc=tld | | |
==== Rollenobjekt ====
| @#F61303:**LDAP-Kontext** | @#F61303:**Verfügbare Attribute** | @#F61303:**Erläuterung/Kommentar** |
| cn=ROLE_, ou=roles, dc=schule, dc=tld | | |
| @lightgrey: | @lightgrey:roleOccupant: | @lightgrey: |
| | roleOccupant: | |
| @lightgrey: | @lightgrey:roleOccupant: | @lightgrey: |
Die Rolle "Lehrer" wäre dann im IServ über
**cn=ROLE_LEHRER, ou=roles, dc=schule, dc=tld**
über das Attribut "**roleOccupant**" ansprechbar. "**memberOf**" greift hier bisher nicht, weil dieses Attribut in der übergeordneten Klasse "**organizationalRole**" wahrscheinlich nicht definiert ist.
==== Tipps ====
=== LDAP-Filter für IServ-Rollen ====
memberOf=cn=ROLE_TEACHER,ou=roles,dc=schule,dc=tld