Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
admin:services:ldap [2013/12/13 14:59] – admin:ldap renamed to admin:services:ldap (Réorganisation) zertrin | admin:services:ldap [2020/03/17 00:19] (Version actuelle) – toadjaune |
---|
| <WRAP center round alert> |
| Cette documentation est obsolète, le LDAP est désormais géré via Re2o. |
| </WRAP> |
| |
[[:admin|< retour à la page de l'administration technique]] | [[:admin|< retour à la page de l'administration technique]] |
| |
==== Provider (master) ==== | ==== Provider (master) ==== |
| |
[[https://github.com/FedeRez/webldap-deploy/blob/master/migrations/syncrepl/provider.ldif|provider.ldif]] | [[https://github.com/FedeRez/webldap-deploy/blob/master/conf/sync/provider.ldif|provider.ldif]] |
| |
=== Compte syncrepl === | Les consumers se connectent au provider avec un compte qui à l'accès complet à l'arbre en lecture seule ([[https://github.com/FedeRez/webldap-deploy/blob/master/conf/sync/syncuser.ldif|syncuser.ldif]]) |
| |
Les consumers se connectent au provider avec un compte qui à l'accès complet à l'arbre en lecture seule ([[https://github.com/FedeRez/webldap-deploy/blob/master/migrations/syncrepl/syncuser.ldif|syncuser.ldif]]) | |
| |
==== Consumer (slave) ==== | ==== Consumer (slave) ==== |
| |
[[https://github.com/FedeRez/webldap-deploy/blob/master/migrations/syncrepl/consumer.ldif|consumer.ldif]] | [[https://github.com/FedeRez/webldap-deploy/blob/master/conf/sync/consumer.ldif|consumer.ldif]] |
| |
Avec le paramètre ''type=refreshAndPersist'', les entrées sont récupérées du provider en temps réel. Cela est fait en TLS pour rendre le transfert confidentiel, d'où l'utilisation des noms de domaine dans la configuration. | Avec le paramètre ''type=refreshAndPersist'', les entrées sont récupérées du provider en temps réel. Cela est fait en TLS pour rendre le transfert confidentiel, d'où l'utilisation des noms de domaine dans la configuration. |
| |
===== ACL ===== | ===== ACL ===== |
| |
==== Provider (master) ==== | |
| |
Le ''break'' de la première ACL permet de passer aux suivantes pour les utilisateurs non concernés. | Le ''break'' de la première ACL permet de passer aux suivantes pour les utilisateurs non concernés. |
by group="cn=usermgmt,ou=services,ou=groups,dc=federez,dc=net" write | by group="cn=usermgmt,ou=services,ou=groups,dc=federez,dc=net" write |
by group/organizationalRole/roleOccupant="cn=member,ou=roles,dc=federez,dc=net" read | by group/organizationalRole/roleOccupant="cn=member,ou=roles,dc=federez,dc=net" read |
| by group="cn=readonly,ou=services,ou=groups,dc=federez,dc=net" read |
olcAccess: to dn.sub="ou=service-users,dc=federez,dc=net" | olcAccess: to dn.sub="ou=service-users,dc=federez,dc=net" |
by self write | by self write |
| |
slapd[14401]: slapd: line 0: rootdn is always granted unlimited privileges. | slapd[14401]: slapd: line 0: rootdn is always granted unlimited privileges. |
| |
==== Consumer (slave) ==== | |
| |
Les ACLs pour les consumers sont les mêmes que pour le provider à l'exception du remplacement de tous les droits ''write'' par ''read''. | |
| |
===== TLS ===== | ===== TLS ===== |
| |
Ajouter ''openssl'' au groupe ''ssl-cert''. | Ajouter ''openldap'' au groupe ''ssl-cert''. |
| |
Pour créer la chaîne : | Pour créer la chaîne : |
olcTLSCertificateKeyFile: /etc/ssl/private/federez.key | olcTLSCertificateKeyFile: /etc/ssl/private/federez.key |
| |
| ===== SSH ===== |
| |
| L'accès aux serveurs est géré par [[admin:services:NSS]] qui utilise le serveur LDAP. Pour donner l'accès aux serveurs à un utilisateur déjà inscrit avec [[admin:services:webldap|webldap]], suivre les étapes suivantes. |
| |
| ==== Ajouter des attributs au compte ==== |
| |
| Dans ''uid=prenom.nom,ou=users,dc=federez,dc=net'', ajouter les attributs : |
| |
| objectClass: netFederezUser |
| objectClass: posixAccount |
| objectClass: shadowAccount |
| homeDirectory: /home/<user> |
| loginShell: /bin/bash |
| netFederezUID: <user> |
| uidNumber: <uid> |
| gidNumber: <gid> |
| shadowMax: 99999 |
| shadowMin: 0 |
| shadowWarning: 7 |
| |
| * ''<uid>'' et ''<gid>'' doivent être supérieurs à 10000 et pas déjà utilisés (vérifier avec ''getent passwd'' et ''getent group''). De préférence, utiliser le même numéro pour les deux. |
| * ''<user>'' est le nom d'utilisateur |
| |
| ==== Créer un groupe POSIX ==== |
| |
| Créer ''cn=<user>,ou=posix,ou=groups,dc=federez,dc=net'' avec les attributs suivants : |
| |
| dn: cn=<user>,ou=posix,ou=groups,dc=federez,dc=net |
| objectClass: posixGroup |
| cn: <group> |
| gidNumber: <gid> |
| memberUid: username |
| |
| * ''<group>'' doit être de préférence identique à ''<user>'' |
| |
| ==== Autoriser l'accès SSH ==== |
| |
| Dans ''cn=ssh,ou=accesses,ou=groups,dc=federez,dc=net'', ajouter le membre : |
| |
| uniqueMember: uid=prenom.nom,ou=users,dc=federez,dc=net |
| |