Outils pour utilisateurs

Outils du site


ateliers:serveurmail:ldap-acl

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
ateliers:serveurmail:ldap-acl [2018/06/27 22:39]
okhin créée
ateliers:serveurmail:ldap-acl [2019/01/24 16:23] (Version actuelle)
okhin ajout d'un bond anonyme possible
Ligne 1: Ligne 1:
-Ble+===== ACL pour LDAP  ===== 
 + 
 +Voici le fichier commenté et à jour utilisé pour les ACL de l'annuaire [[ateliers:serveurmail:ldap]] d'Anarcha. 
 +Ce fichier peut être utilisé tel quel avec la commande ldapmodify : 
 + 
 +  $ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif 
 + 
 +Chaque bloc olcAccess est terminé par un ``to * deny`` implicite, il faut donc être exhaustif dans vos ACL. 
 + 
 +<WRAP center round important 60%> 
 +Attention à ne pas vous bloquer dehors et à ne plus pouvoir utiliser votre répertoire. 
 +</WRAP> 
 + 
 +<code|ldif /usr/local/lib/ldap/acl.ldif> 
 +# La base frontend contiens toutes les bases. Donc les ACL s'appliquant 
 +# à celle-ci, s'applique à toutes les autres. 
 +dn: olcDatabase={-1}frontend,cn=config 
 +changetype: modify 
 +replace: olcAccess 
 +# Ici nous validons l'accès si l'on se connecte en external sur ldapi 
 +# et que l'utilisateur est root. C'est ce qui fait que l'on peut tout 
 +# changer avec `sudo ldapmodify -Y EXTERNAL -H ldapi:///` par exemple. 
 +# On ajoute ici le droit de modifier la configuration aux personnes 
 +# faisant partie du groupe cn=sudo,ou=Groups 
 +olcAccess: to * 
 +  by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage 
 +  by group.exact=cn=sudo,ou=Groups,dc=anarcha,dc=pink manage 
 +  by * break 
 +# L'objet racine est lisible par tout le monde 
 +olcAccess: to dn.exact="" 
 +  by * read 
 +# Tout le monde peut lire le contenu de Subschema qui décrit la syntaxe 
 +# utilisée par LDAP 
 +olcAccess: {3}to dn.base="cn=Subschema" 
 +  by * read 
 + 
 +# Les droits d'accès ici concerne la configuration de LDAP 
 +dn: olcDatabase={0}config,cn=config 
 +changetype: modify 
 +replace: olcAccess 
 +# Seul root - en utilisant -Y EXTERNAL -H ldapi:/// - ainsi que les personnes 
 +# dans le groupe cn=sudo,ou=Groups peut gérer toute 
 +# la configuration. 
 +olcAccess: to * 
 +  by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage 
 +  by group.exact=cn=sudo,ou=Groups,dc=anarcha,dc=pink manage 
 +  by * break 
 + 
 +# Ceci est la première base de donnée, et correspond donc au cn: dc=anarcha,dc=pink 
 +dn: olcDatabase={1}mdb,cn=config 
 +changetype: modify 
 +replace: olcAccess 
 +# Les sudo peuvent modifier et gérer l'ensemble des groupes faisant parti de l'OU 
 +# System. 
 +olcAccess: to attrs=userPassword 
 +  dn.children="ou=System,dc=anarcha,dc=pink" 
 +  by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage 
 +  by group.exact=cn=sudo,ou=Groups,dc=anarcha,dc=pink manage 
 +# Seul l'utilisateur peut écrire son mot de passe 
 +# Tout le monde peut essayer de s'en servir dans un but d'identification (ce n'est 
 +# pas un accès en lecture, mais un accès par les mécanismes d'authentification) 
 +# et le reste du monde ne peut rien faire. 
 +olcAccess: to attrs=userPassword 
 +  by self write 
 +  by anonymous auth 
 +  by * none 
 +# Même chose, mais pour un attribut nęcessaire au fonctionnement de Shadow 
 +olcAccess: to attrs=shadowLastChange 
 +  by self write 
 +  by * read 
 +# La clef SSH e peut être écrite que par l'owner. Tout le monde peut lire. 
 +olcAccess: to attrs=sshPublicKey 
 +  by self write 
 +  by * read 
 +# Tout le monde peut lire notre arbre. C'est pour ça que ldapsearch fonctionne. 
 +# Nobody ne peut rien faire 
 +# Et le groupe sudo a tous les pouvoirs 
 +olcAccess: to * 
 +  by dn.exact=uid=nobody,ou=System,dc=anarcha,dc=pink none 
 +  by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage 
 +  by group.exact=cn=sudo,ou=Groups,dc=anarcha,dc=pink manage 
 +  by anonymous read 
 +  by * read 
 + 
 +</code> 
 + 
 +La dernière ligne du fichier DOIT être une ligne vide. A noter qu'au lieu d'utiliser un replace, il est possible d'utiliser add/delete, mais il est plus simple d'avoir une représentation détaillée.
ateliers/serveurmail/ldap-acl.1530131967.txt.gz · Dernière modification: 2018/06/27 22:39 de okhin