Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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] djangocentos: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,dc=nausch,dc=org“ write | Manager |schreiben  | | by dn=„cn=Manager,dc=nausch,dc=org“ write | Manager |schreiben  |
-| by dn=„cn=Technischeruser,dc=nausch,dc=org“ read | Ersatzbenutzer  |lesen  |+| by dn=„cn=Technischeruser,dc=nausch,dc=org“ read | Technischeruser  |lesen  |
 | by anonymous auth | anonymous | authentifizieren  | | by anonymous auth | anonymous | authentifizieren  |
 | by * none | //alle anderen//  |  **keinerlei Rechte**  | by * none | //alle anderen//  |  **keinerlei Rechte** 
Zeile 338: Zeile 338:
  
  
-FIXME+=== Zugriff auf „Group“ der Domäne === 
 +Für die Gruppeneinträge unserer Domäne "dc=nausch,dc=org" sollen folgende Berechtigungen gelten. 
 + 
 +^ **Zugriffsformulierung**     ^ **Benutzer**     ^ **Zugriffsberechtigung**   ^ 
 +| by self write | self (selbst) |schreiben 
 +| by dn=„cn=Manager,dc=nausch,dc=org“ write | Manager |schreiben 
 +| by dn=„cn=Technischeruser,dc=nausch,dc=org“ read | Technischeruser |lesen 
 +| by dn.exact,expand=„uid=$1,ou=Group,dc=nausch,dc=org“ read | //(Gruppen)mitglieder// | authentifizieren 
 +| by * none | //alle anderen//  |  **keinerlei Rechte**  |  
 + 
 +Für die Konfiguration benötigen wir hierzu auch noch eine **olc**((**o**n-**l**ine **c**onfiguration))-Directive, die für obige Tabelle wie folgt aussieht (zur besseren Lesbarkeit hier umgebrochen!). 
 +  olcAccess: {3}to dn.regex="cn=([^,]+),ou=Group,dc=nausch,dc=org" by self  
 +             write by dn="cn=Manager,dc=nausch,dc=org"  
 +             write by dn="cn=Technischeruser,dc=nausch,dc=org"  
 +             read by dn.exact,expand="uid=$1,ou=Group,dc=nausch,dc=org" read by * none 
 + 
 +=== Zugriff auf „People“ der Domäne === 
 +Für die Personeneinträge unserer Domäne "dc=nausch,dc=org" sollen folgende Berechtigungen gelten. 
 + 
 +^ **Zugriffsformulierung**     ^ **Benutzer**     ^ **Zugriffsberechtigung**   ^ 
 +| by self write | self (selbst) |schreiben 
 +| by dn=„cn=Manager,dc=nausch,dc=org“ write | Manager |schreiben 
 +| by dn=„cn=Technischeruser,dc=nausch,dc=org“ read | Technischeruser |lesen 
 +| by dn.exact,expand=„uid=$1,ou=People,dc=nausch,dc=org“ read | //Benutzer// | authentifizieren 
 +| by * none | //alle anderen//  |  **keinerlei Rechte**  |  
 + 
 +Für die Konfiguration benötigen wir hierzu auch noch eine **olc**((**o**n-**l**ine **c**onfiguration))-Directive, die für obige Tabelle wie folgt aussieht (zur besseren Lesbarkeit hier umgebrochen!). 
 +  olcAccess: {4}to dn.regex="cn=([^,]+),ou=People,dc=nausch,dc=org" by self  
 +             write by dn="cn=Manager,dc=nausch,dc=org"  
 +             write by dn="cn=Technischeruser,dc=nausch,dc=org"  
 +             read by dn.exact,expand="uid=$1,ou=People,dc=nausch,dc=org" read by * none 
 + 
 +=== Zugriff auf alle anderen Felder (ohne gesonderte Berechtigungen) der Domäne === 
 +Auf alle sonstigen Felder im DIT sollen folgende Berechtigungen gelten. 
 + 
 +^ **Zugriffsformulierung**     ^ **Benutzer**     ^ **Zugriffsberechtigung**   ^ 
 +| by self write | self (selbst) |schreiben 
 +| by dn=„cn=Manager,dc=nausch,dc=org“ write | Manager |schreiben 
 +| by * none | //alle anderen//  |  lesen  |  
 + 
 +Für die Konfiguration benötigen wir hierzu auch noch unseren letzten **olc**((**o**n-**l**ine **c**onfiguration))-Directive, die für obige Tabelle wie folgt aussieht. 
 +  olcAccess: {5}to * by self write by dn.base="cn=Manager,dc=nausch,dc=org" write by * read 
 + 
 +==== Konfiguration ==== 
 +Somit ergibt sich für die Konfiguration der Berechtigungen ein e LDIF-Datei mit folgendem Inhalt. 
 +   # vim /etc/openldap/ldif/cn\=config_acl.ldif 
 +<file ldif /etc/openldap/ldif/cn\=config_acl.ldif># Django : 2015-07-17 
 +# setzen unterschiedlicher Berechtigungen im DIT unseres OpenLDAP-Servers 
 +# https://dokuwiki.nausch.org/doku.php/centos:ldap_c7:tecbind#zugriffsrechte_des_technischen_user_beschraenken 
 + 
 +dn: olcDatabase={2}hdb,cn=config 
 +changetype: modify 
 +replace: olcAccess 
 +olcAccess: {0}to attrs=userPassword,shadowLastChange,shadowMax,shadowWarning by self write by dn="cn=Manager,dc=nausch,dc=org" write by dn="cn=Technischeruser,dc=nausch,dc=org" read by anonymous auth by * none 
 +olcAccess: {1}to dn="cn=Manager,dc=nausch,dc=org" by self write by * none 
 +olcAccess: {2}to dn="cn=Technischeruser,dc=nausch,dc=org" by self write by dn="cn=Manager,dc=nausch,dc=org" write by * none 
 +olcAccess: {3}to dn.regex="cn=([^,]+),ou=Group,dc=nausch,dc=org" by self write by dn="cn=Manager,dc=nausch,dc=org" write by dn="cn=Technischeruser,dc=nausch,dc=org" read by dn.exact,expand="uid=$1,ou=People,dc=nausch,dc=org" read by * none 
 +olcAccess: {4}to dn.regex="uid=([^,]+),ou=People,dc=nausch,dc=org" by self write by dn="cn=Manager,dc=nausch,dc=org" write by dn="cn=Technischeruser,dc=nausch,dc=org" read by dn.exact,expand="uid=$1,ou=People,dc=nausch,dc=org" read by * none 
 +olcAccess: {5}to * by self write by dn.base="cn=Manager,dc=nausch,dc=org" write by * read 
 + 
 +</file> 
 + 
 +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 /etc/openldap/ldif/cn\=config_acl.ldif 
 + 
 +  SASL/EXTERNAL authentication started 
 +  SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth 
 +  SASL SSF: 0 
 +  modifying entry "olcDatabase={2}hdb,cn=config" 
 +  
 +==== Abfragetest ==== 
 +Zum Schluss fragen wir nun noch ab, ob die Berechtigungen richtig gesetzt wurden. 
 +   # ldapsearch -W -x -D cn=config -b olcDatabase={2}hdb,cn=config 
 + 
 +  Enter LDAP Password: 
 +<code># extended LDIF 
 +
 +# LDAPv3 
 +# base <olcDatabase={2}hdb,cn=config> with scope subtree 
 +# filter: (objectclass=*) 
 +# requesting: ALL 
 +
 + 
 +# {2}hdb, config 
 +dn: olcDatabase={2}hdb,cn=config 
 +objectClass: olcDatabaseConfig 
 +objectClass: olcHdbConfig 
 +olcDatabase: {2}hdb 
 +olcDbDirectory: /var/lib/ldap 
 +olcSuffix: dc=nausch,dc=org 
 +olcRootDN: cn=Manager,dc=nausch,dc=org 
 +olcRootPW: {SSHA}lffku/uaiQjP2zloaLfDe1vEVcgnE3y9 
 +olcDbIndex: objectClass eq,pres 
 +olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub 
 +olcDbIndex: uidNumber,gidNumber,loginShell eq,pres 
 +olcDbIndex: uid,memberUid eq,pres,sub 
 +olcDbIndex: nisMapName,nisMapEntry eq,pres,sub 
 +olcDbIndex: uniqueMember eq,pres 
 +olcAccess: {0}to attrs=userPassword,shadowLastChange,shadowMax,shadowWarning b 
 + y self write by dn="cn=Manager,dc=nausch,dc=org" write by dn="cn=Technischer_ 
 + User,dc=nausch,dc=org" read by anonymous auth by * none 
 +olcAccess: {1}to dn="cn=Manager,dc=nausch,dc=org" by self write by * none 
 +olcAccess: {2}to dn="cn=Technischeruser,dc=nausch,dc=org" by self write by dn= 
 + "cn=Manager,dc=nausch,dc=org" write by * none 
 +olcAccess: {3}to dn.regex="cn=([^,]+),ou=Group,dc=nausch,dc=org" by self write 
 +  by dn="cn=Manager,dc=nausch,dc=org" write by dn="cn=Technischer_User,dc=naus 
 + ch,dc=org" read by dn.exact,expand="uid=$1,ou=People,dc=nausch,dc=org" read b 
 + y * none 
 +olcAccess: {4}to dn.regex="uid=([^,]+),ou=People,dc=nausch,dc=org" by self wri 
 + te by dn="cn=Manager,dc=nausch,dc=org" write by dn="cn=Technischer_User,dc=na 
 + usch,dc=org" read by dn.exact,expand="uid=$1,ou=People,dc=nausch,dc=org" read 
 +  by * none 
 +olcAccess: {5}to * by self write by dn.base="cn=Manager,dc=nausch,dc=org" writ 
 + e by * read 
 + 
 +# search result 
 +search: 2 
 +result: 0 Success 
 + 
 +# numResponses:
 +# numEntries: 1</code> 
 + 
 +====== Links ====== 
 +  * **⇐ [[centos:ldap_c7:data|Zurück zum Kapitel "Datenerstbefüllung des OpenLDAP Servers unter CentOS 7.x"]]** 
 +  * **⇒ [[centos:ldap_c7:clientauth|Weiter zum Kapitel " Client-Authentification am zentralen OpenLDAP Servers"]]** 
 +  * **[[centos:ldap_c7:start|Zurück zum Kapitel >>OpenLDAP Server unter CentOS 7.x<<]]** 
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** 
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** 
  
  • centos/ldap_c7/tecbind.1437136623.txt.gz
  • Zuletzt geändert: 17.07.2015 12:37.
  • von django