Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| centos:ldap_c7:tecbind [17.07.2015 12:37. ] – [Definition der neuen Berechtigungen] django | centos:ldap_c7:tecbind [22.07.2019 15:03. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 300: | Zeile 300: | ||
| | by self write | self (selbst) |schreiben | | by self write | self (selbst) |schreiben | ||
| | by dn=„cn=Manager, | | by dn=„cn=Manager, | ||
| - | | by dn=„cn=Technischeruser, | + | | by dn=„cn=Technischeruser, |
| | by anonymous auth | anonymous | authentifizieren | | by anonymous auth | anonymous | authentifizieren | ||
| | by * none | //alle anderen// | | by * none | //alle anderen// | ||
| Zeile 338: | Zeile 338: | ||
| - | FIXME | + | === Zugriff auf „Group“ der Domäne === |
| + | Für die Gruppeneinträge unserer Domäne " | ||
| + | |||
| + | ^ **Zugriffsformulierung** | ||
| + | | by self write | self (selbst) |schreiben | ||
| + | | by dn=„cn=Manager, | ||
| + | | by dn=„cn=Technischeruser, | ||
| + | | by dn.exact, | ||
| + | | by * none | //alle anderen// | ||
| + | |||
| + | Für die Konfiguration benötigen wir hierzu auch noch eine **olc**((**o**n-**l**ine **c**onfiguration))-Directive, | ||
| + | olcAccess: {3}to dn.regex=" | ||
| + | write by dn=" | ||
| + | write by dn=" | ||
| + | read by dn.exact, | ||
| + | |||
| + | === Zugriff auf „People“ der Domäne === | ||
| + | Für die Personeneinträge unserer Domäne " | ||
| + | |||
| + | ^ **Zugriffsformulierung** | ||
| + | | by self write | self (selbst) |schreiben | ||
| + | | by dn=„cn=Manager, | ||
| + | | by dn=„cn=Technischeruser, | ||
| + | | by dn.exact, | ||
| + | | by * none | //alle anderen// | ||
| + | |||
| + | Für die Konfiguration benötigen wir hierzu auch noch eine **olc**((**o**n-**l**ine **c**onfiguration))-Directive, | ||
| + | olcAccess: {4}to dn.regex=" | ||
| + | write by dn=" | ||
| + | write by dn=" | ||
| + | read by dn.exact, | ||
| + | |||
| + | === Zugriff auf alle anderen Felder (ohne gesonderte Berechtigungen) der Domäne === | ||
| + | Auf alle sonstigen Felder im DIT sollen folgende Berechtigungen gelten. | ||
| + | |||
| + | ^ **Zugriffsformulierung** | ||
| + | | by self write | self (selbst) |schreiben | ||
| + | | by dn=„cn=Manager, | ||
| + | | by * none | //alle anderen// | ||
| + | |||
| + | Für die Konfiguration benötigen wir hierzu auch noch unseren letzten **olc**((**o**n-**l**ine **c**onfiguration))-Directive, | ||
| + | olcAccess: {5}to * by self write by dn.base=" | ||
| + | |||
| + | ==== Konfiguration ==== | ||
| + | Somit ergibt sich für die Konfiguration der Berechtigungen ein e LDIF-Datei mit folgendem Inhalt. | ||
| + | # vim / | ||
| + | <file ldif / | ||
| + | # setzen unterschiedlicher Berechtigungen im DIT unseres OpenLDAP-Servers | ||
| + | # https:// | ||
| + | |||
| + | dn: olcDatabase={2}hdb, | ||
| + | changetype: modify | ||
| + | replace: olcAccess | ||
| + | olcAccess: {0}to attrs=userPassword, | ||
| + | olcAccess: {1}to dn=" | ||
| + | olcAccess: {2}to dn=" | ||
| + | olcAccess: {3}to dn.regex=" | ||
| + | olcAccess: {4}to dn.regex=" | ||
| + | olcAccess: {5}to * by self write by dn.base=" | ||
| + | |||
| + | </ | ||
| + | |||
| + | Abschließend müssen wir nun nur noch mit nachfolgendem Befehl der Inhalt obiger LDIF-Datei im laufendem Betrieb des OpenLDAP-Servers in dessen Konfiguration hinzufügen. | ||
| + | # ldapmodify -Y EXTERNAL -H ldapi:/// -f / | ||
| + | |||
| + | SASL/ | ||
| + | SASL username: gidNumber=0+uidNumber=0, | ||
| + | SASL SSF: 0 | ||
| + | modifying entry " | ||
| + | |||
| + | ==== Abfragetest ==== | ||
| + | Zum Schluss fragen wir nun noch ab, ob die Berechtigungen richtig gesetzt wurden. | ||
| + | # ldapsearch -W -x -D cn=config -b olcDatabase={2}hdb, | ||
| + | |||
| + | Enter LDAP Password: | ||
| + | < | ||
| + | # | ||
| + | # LDAPv3 | ||
| + | # base < | ||
| + | # filter: (objectclass=*) | ||
| + | # requesting: ALL | ||
| + | # | ||
| + | |||
| + | # {2}hdb, config | ||
| + | dn: olcDatabase={2}hdb, | ||
| + | objectClass: | ||
| + | objectClass: | ||
| + | olcDatabase: | ||
| + | olcDbDirectory: | ||
| + | olcSuffix: dc=nausch, | ||
| + | olcRootDN: cn=Manager, | ||
| + | olcRootPW: {SSHA}lffku/ | ||
| + | olcDbIndex: objectClass eq,pres | ||
| + | olcDbIndex: ou, | ||
| + | olcDbIndex: uidNumber, | ||
| + | olcDbIndex: uid, | ||
| + | olcDbIndex: nisMapName, | ||
| + | olcDbIndex: uniqueMember eq,pres | ||
| + | olcAccess: {0}to attrs=userPassword, | ||
| + | y self write by dn=" | ||
| + | | ||
| + | olcAccess: {1}to dn=" | ||
| + | olcAccess: {2}to dn=" | ||
| + | " | ||
| + | olcAccess: {3}to dn.regex=" | ||
| + | by dn=" | ||
| + | | ||
| + | y * none | ||
| + | olcAccess: {4}to dn.regex=" | ||
| + | te by dn=" | ||
| + | | ||
| + | by * none | ||
| + | olcAccess: {5}to * by self write by dn.base=" | ||
| + | e by * read | ||
| + | |||
| + | # search result | ||
| + | search: 2 | ||
| + | result: 0 Success | ||
| + | |||
| + | # numResponses: | ||
| + | # numEntries: 1</ | ||
| + | |||
| + | ====== Links ====== | ||
| + | * **⇐ [[centos: | ||
| + | * **⇒ [[centos: | ||
| + | * **[[centos: | ||
| + | * **[[wiki: | ||
| + | * **[[http:// | ||