crans_bcfg2/Python/etc/nss-ldapd.conf
Nicolas Dandrimont 93ddb35fe3 [nss] Utilisation de la syntaxe correcte de nss-ldapd
darcs-hash:20081207202226-ffbb2-0ce766d1fb5346422b9d800e45b644e8b76e4c28.gz
2008-12-07 21:22:26 +01:00

80 lines
2.1 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("bureau"):
droits.append("(droits=Bureau)")
droits.append(')')
@
@# Filtre de recherche
print "filter passwd", ''.join(droits)