crans_bcfg2/Python/etc/nss-ldapd.conf
Michel Blockelet 2e58033958 [bcfg2] Ajout des droits WebMaster
darcs-hash:20090224150601-ddb99-3411d187056338e9904d648aa0df27f5ebe7f77e.gz
2009-02-24 16:06:01 +01:00

82 lines
2.2 KiB
Python

# -*- mode: python; coding: utf-8 -*-
include("mode/space")
include("secrets")
include("ip")
header("""
Fichier de configuration pour libnss-ldapd.
Pour des informations détaillées voir nss-ldapd.conf(5)
""")
info["perms"] = 0600
@# +---------------------------------------------------+
@# | Configuration du démon nslcd |
@# +---------------------------------------------------+
@
@# Utilisateur sous lequel faire tourner le démon
@uid nslcd
@gid nslcd
@
@# +---------------------------------------------------+
@# | Configuration de la communication avec le serveur |
@# +---------------------------------------------------+
@
if has("db-server"):
@# Socket unix du serveur
%uri "ldapi://%2fvar%2frun%2fslapd%2fldapi/"
else:
@# Addresse du serveur
%uri "ldap://%s/" % admipof("ldap")
@
@# Le distinguished name de la base de recherche
%base "dc=crans,dc=org"
@
@# Le DN avec lequel se connecter à la base.
%binddn secrets.ldap_readonly_auth_dn
@
@# Et le mot de passe associé
%bindpw secrets.ldap_readonly_password
@
@# La version de LDAP à utiliser
%ldap_version 3
@
@# Temps d'attente d'une réponse du serveur LDAP
%timelimit 5
@
@# Temps d'attente à la connexion au serveur LDAP
%bind_timelimit 5
@
@# +------------------+
@# | Bases de données |
@# +------------------+
@
# On utilise ldap pour résoudre les bases de données
# passwd, group et shadow
@# Bases de recherche
@base passwd ou=data,dc=crans,dc=org
@base shadow ou=data,dc=crans,dc=org
@base group ou=Group,dc=crans,dc=org
if not has('users'):
# Sur les serveurs autres que zamok, on filtre pour que seuls
# les nounous et les apprentis soient vus.
# Il est important de mettre ce filtrage au niveau de
# libnss-ldap et pam-ldap car ssh utilise pam pour les
# mots de passe mais pour l'authentification par clés
# il n'utilise que nss
droits = ['(|']
droits.append("(droits=Nounou)(droits=Apprenti)")
if has("imprimeurs"):
droits.append("(droits=Imprimeur)")
if has("webmasters"):
droits.append("(droits=WebMaster)")
if has("bureau"):
droits.append("(droits=Bureau)")
droits.append(')')
@
@# Filtre de recherche
print "filter passwd", ''.join(droits)