This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
docpublic:systemes:ldap:ldapolc [2017/04/02 08:34] procacci@tem-tsp.eu [integration de l'arboresence racine] |
docpublic:systemes:ldap:ldapolc [2017/04/03 20:43] (current) procacci@tem-tsp.eu [lsc.xml] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | |||
+ | ===== Annuaire openldap OLC + LSC ===== | ||
===== references ===== | ===== references ===== | ||
Line 130: | Line 133: | ||
</ | </ | ||
+ | ==== conversion de schema en ldif ==== | ||
+ | |||
+ | quand on ne dispose pas de la definition ldif du schema il faut le generer , cf | ||
+ | |||
+ | * https:// | ||
+ | * http:// | ||
+ | |||
+ | < | ||
+ | [root@idm schema]# cat schema_conv.conf | ||
+ | include ./ | ||
+ | include ./ | ||
+ | include ./ | ||
+ | include ./ | ||
+ | </ | ||
+ | |||
+ | bien que deja disponible en ldif, on a integré " | ||
+ | |||
+ | < | ||
+ | [root@idm schema]# slaptest -f ./ | ||
+ | |||
+ | [root@idm schema]# ls / | ||
+ | cn={0}core.ldif | ||
+ | cn={0}eduperson-200412.ldif | ||
+ | </ | ||
+ | |||
+ | on edit dans le repertoire temporaire le fichier ldif du schema a integrer en ajoutant cn=schema, | ||
+ | |||
+ | exemple : | ||
+ | < | ||
+ | |||
+ | dn: cn=schac-20090326-1, | ||
+ | objectClass: | ||
+ | cn: schac-20090326-1 | ||
+ | </ | ||
+ | |||
+ | et on retire tous les attributs operationnels en fin de fichier (structuralObjectClass: | ||
+ | |||
+ | il ne reste plus qu'a recopier ce fichier modifié dans l' | ||
+ | |||
+ | < | ||
+ | cp / | ||
+ | [root@idm cn=schema]# ldapadd -Y EXTERNAL -H ldapi:/// -f / | ||
+ | SASL/ | ||
+ | SASL username: gidNumber=0+uidNumber=0, | ||
+ | SASL SSF: 0 | ||
+ | adding new entry " | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | puis idem avec nis.ldif, inetorgperson.ldif, | ||
+ | |||
+ | < | ||
+ | [root@idm cn=schema]# | ||
+ | dn: cn={0}core, | ||
+ | dn: cn={1}cosine, | ||
+ | dn: cn={2}nis, | ||
+ | dn: cn={3}misc, | ||
+ | dn: cn={4}ppolicy, | ||
+ | dn: cn={5}inetorgperson, | ||
+ | dn: cn={6}supann_2009, | ||
+ | dn: cn={7}eduperson-200412, | ||
+ | dn: cn={8}schac-20090326-1, | ||
+ | </ | ||
==== databases ==== | ==== databases ==== | ||
Line 507: | Line 575: | ||
</ | </ | ||
+ | ==== integration des branches ==== | ||
+ | creation de sous branches de notre annuaire , system, mte, mte avec des ou=people dessous: | ||
+ | |||
+ | < | ||
+ | [root@idm ~]# cat system-idm-ous.ldif.wiki | ||
+ | dn: ou=system, | ||
+ | changetype: add | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | ou: system | ||
+ | |||
+ | dn: ou=mte, | ||
+ | changetype: add | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | ou: dsi-mte | ||
+ | |||
+ | dn: ou=people, | ||
+ | changetype: add | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | ou: people | ||
+ | |||
+ | dn: ou=mtp, | ||
+ | changetype: add | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | ou: dsi-mtp | ||
+ | |||
+ | dn: ou=people, | ||
+ | changetype: add | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | ou: people | ||
+ | |||
+ | [root@idm ~]# ldapadd -D ' | ||
+ | Enter LDAP Password: | ||
+ | adding new entry " | ||
+ | adding new entry " | ||
+ | adding new entry " | ||
+ | adding new entry " | ||
+ | adding new entry " | ||
+ | </ | ||
+ | |||
+ | ==== ACL specifiques a cette database ==== | ||
+ | |||
+ | nous donnons des acces bien precis a chaques arboresences et attributs avec anticipation de l' | ||
+ | |||
+ | Fichier ldif | ||
+ | |||
+ | < | ||
+ | [root@idm ~]# cat olcAccessModId.ldif | ||
+ | dn: olcDatabase={1}mdb, | ||
+ | changetype: modify | ||
+ | add: olcAccess | ||
+ | olcAccess: {0}to attrs=userPassword, | ||
+ | - | ||
+ | add: olcAccess | ||
+ | olcAccess: {1}to dn.subtree=" | ||
+ | - | ||
+ | add: olcAccess | ||
+ | olcAccess: {2}to dn.subtree=" | ||
+ | - | ||
+ | add: olcAccess | ||
+ | olcAccess: {3}to * by * none | ||
+ | </ | ||
+ | |||
+ | execution | ||
+ | |||
+ | < | ||
+ | root@idm ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f ./ | ||
+ | SASL/ | ||
+ | SASL username: gidNumber=0+uidNumber=0, | ||
+ | SASL SSF: 0 | ||
+ | modifying entry " | ||
+ | </ | ||
+ | |||
+ | verification | ||
+ | |||
+ | < | ||
+ | [root@idm ~]# ldapsearch -H ldapi:// -Y EXTERNAL -b " | ||
+ | SASL/ | ||
+ | SASL username: gidNumber=0+uidNumber=0, | ||
+ | SASL SSF: 0 | ||
+ | dn: olcDatabase={1}mdb, | ||
+ | olcAccess: {0}to attrs=userPassword, | ||
+ | s auth by * none | ||
+ | olcAccess: {1}to dn.subtree=" | ||
+ | by dn=" | ||
+ | olcAccess: {2}to dn.subtree=" | ||
+ | | ||
+ | , | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ead by * none | ||
+ | olcAccess: {3}to * by * none | ||
+ | </ | ||
+ | |||
+ | si necessité de detruite une regle, exemple de ldif qui supprime la regle 3 : | ||
+ | |||
+ | < | ||
+ | [root@idm ~]# cat olcAccessDelId.ldif | ||
+ | dn: olcDatabase={1}mdb, | ||
+ | changetype: modify | ||
+ | delete: olcAccess | ||
+ | olcAccess: {3} | ||
+ | </ | ||
===== LSC project synchro ===== | ===== LSC project synchro ===== | ||
+ | |||
+ | ==== installation et bases ==== | ||
definition du repository pour installation via yum | definition du repository pour installation via yum | ||
Line 537: | Line 717: | ||
Installé : | Installé : | ||
- | lsc.noarch 0: | + | lsc.noarch 0: |
Terminé ! | Terminé ! | ||
- | |||
</ | </ | ||
Line 548: | Line 726: | ||
[root@idm ~]# rpm -q java-1.8.0-openjdk | [root@idm ~]# rpm -q java-1.8.0-openjdk | ||
java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64 | java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64 | ||
- | |||
[root@idm ~]# java -version | [root@idm ~]# java -version | ||
Line 556: | Line 733: | ||
</ | </ | ||
+ | ==== Config LSC synchro ldap2ldap ==== | ||
+ | |||
+ | le principe ici est de synchroniser des annuaires ldap vers un annuaire mutualisé assurant la fusion des annuaires d' | ||
+ | |||
+ | Ici , on fait une exclusion des objectclass et attributs non indispensables a un annuaire pages blanches via le < | ||
+ | |||
+ | === compte de synchro === | ||
+ | |||
+ | on crée un compte qui pourra réaliser les synchro (acces en ecriture sur les sous-branches) | ||
+ | |||
+ | < | ||
+ | [root@idm ~]# cat syncuser.ldif | ||
+ | dn: cn=syncuser, | ||
+ | objectclass: | ||
+ | cn: syncuser | ||
+ | sn: sync | ||
+ | uid: syncuser | ||
+ | userpassword: | ||
+ | ou: system | ||
+ | |||
+ | [root@idm ~]# ldapadd -D ' | ||
+ | Enter LDAP Password: | ||
+ | adding new entry " | ||
+ | </ | ||
+ | |||
+ | si perte de mot de passe et necessité de refaire l' | ||
+ | |||
+ | < | ||
+ | |||
+ | [root@idm ~]# ldapdelete -H ldap:// | ||
+ | Enter LDAP Password: | ||
+ | </ | ||
+ | |||
+ | === creation du repertoire de travail === | ||
+ | |||
+ | nous allons creer une arborescence de travail par entité a integrer , exempk;e ici l' | ||
+ | |||
+ | < | ||
+ | [root@idm ~]# cd /etc/lsc/ | ||
+ | [root@idm lsc]# mkdir ldap-mte2id | ||
+ | [root@idm lsc]# cp lsc.xml ldap-mte2id | ||
+ | [root@idm lsc]# cd ldap-mte2id | ||
+ | </ | ||
+ | |||
+ | ==== lsc logic ==== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== lsc.xml ==== | ||
+ | |||
+ | exemple de configuration d'une synchro ldap 2 ldap | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== execution lsc ==== | ||
+ | |||
+ | < | ||
+ | [root@idm ldap-mte2id]# | ||
+ | 20: | ||
+ | 20: | ||
+ | 20: | ||
+ | ... | ||
+ | avr. 03 20:27:22 - INFO - Reflections took 68 ms to scan 1 urls, producing 56 keys and 117 values | ||
+ | avr. 03 20:27:22 - INFO - Logging configuration successfully loaded from / | ||
+ | avr. 03 20:27:22 - INFO - LSC configuration successfully loaded from / | ||
+ | avr. 03 20:27:22 - INFO - Connecting to LDAP server ldap:// | ||
+ | avr. 03 20:27:22 - INFO - Connecting to LDAP server ldap:// | ||
+ | avr. 03 20:27:22 - INFO - Starting sync for user | ||
+ | avr. 03 20:27:24 - INFO - # Adding new object eduPersonPrincipalName=proc@tm-tp.eu, | ||
+ | # Mon Apr 03 20:27:24 UTC 2017 | ||
+ | dn: eduPersonPrincipalName=proc@tm-tp.eu, | ||
+ | changetype: add | ||
+ | supannListeRouge: | ||
+ | ... | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | supanncivilite: | ||
+ | ... | ||
+ | sn: PROC | ||
+ | |||
+ | avr. 03 20:27:24 - INFO - All entries: 1, to modify entries: 1, successfully modified entries: 1, errors: 0 | ||
+ | </ | ||
+ | |||
+ | log ldap associés | ||
+ | |||
+ | < | ||
+ | Apr 3 20:27:22 idm slapd[4786]: | ||
+ | Apr 3 20:27:22 idm slapd[4786]: | ||
+ | Apr 3 20:27:22 idm slapd[4786]: | ||
+ | Apr 3 20:27:22 idm slapd[4786]: | ||
+ | Apr 3 20:27:23 idm slapd[4786]: | ||
+ | Apr 3 20:27:23 idm slapd[4786]: | ||
+ | Apr 3 20:27:23 idm slapd[4786]: | ||
+ | Apr 3 20:27:23 idm slapd[4786]: | ||
+ | Apr 3 20:27:24 idm slapd[4786]: | ||
+ | Apr 3 20:27:24 idm slapd[4786]: | ||
+ | Apr 3 20:27:24 idm slapd[4786]: | ||
+ | Apr 3 20:27:24 idm slapd[4786]: | ||
+ | </ |