[nss] Configuration de nss-ldapd

darcs-hash:20081207200726-ffbb2-82b48cda067c84f61acdd9220c15eb1255d7a51c.gz
This commit is contained in:
Nicolas Dandrimont 2008-12-07 21:07:26 +01:00
parent 30cad13551
commit fe6bc97174
3 changed files with 90 additions and 3 deletions

79
Python/etc/nss-ldapd.conf Normal file
View file

@ -0,0 +1,79 @@
# -*- 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 n'utilise ldap pour résoudre les bases de données
# passwd, group et shadow
droits = []
if has("users"):
# Sur le serveur des adhérents, on veut que tout
# les adhérents soit reconnus comme utilisateurs locaux
%nss_base_passwd "ou=data,dc=crans,dc=org?one"
else:
# Sur les autres serveurs on filtre pour que seuls
# les nounous et les apprentis le soit.
# 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.append("nss_base_passwd ou=data,dc=crans,dc=org?one?|(droits=Nounou)(droits=Apprenti)")
if has("imprimeurs"):
droits.append("(droits=Imprimeur)")
if has("bureau"):
droits.append("(droits=Bureau)")
print ''.join(droits)
%nss_base_shadow "ou=data,dc=crans,dc=org?one"
%nss_base_group "ou=Group,dc=crans,dc=org?one"