Conf de ldap.
* Acces a la base * Conf de pam pour ldap * Conf de nss pour ldap darcs-hash:20080209021350-af139-0dd9ab0a07fd64c38d18efc94d7c82b130d6df17.gz
This commit is contained in:
parent
5d6f9722bb
commit
1bb9fac1e4
20 changed files with 363 additions and 49 deletions
8
Python/etc/ldap.secret
Normal file
8
Python/etc/ldap.secret
Normal file
|
@ -0,0 +1,8 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("secrets")
|
||||
|
||||
if has("db-main"):
|
||||
print secrets.ldap_password
|
||||
else:
|
||||
print secrets.ldap_readonly_password
|
15
Python/etc/ldap/ldap.conf
Normal file
15
Python/etc/ldap/ldap.conf
Normal file
|
@ -0,0 +1,15 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("ip")
|
||||
|
||||
header("Acces a la base ldap")
|
||||
|
||||
@# See ldap.conf(5) for details
|
||||
@# This file should be world readable but not world writable.
|
||||
|
||||
@BASE dc=crans, dc=org
|
||||
if has("db-server"):
|
||||
%URI "ldapi://%2fvar%2frun%2fslapd%2fldapi/"
|
||||
%TLS_CACERT "/etc/ssl/certs/CAcrans.pem"
|
||||
else:
|
||||
%URI "ldap://%s/" % admipof("ldap")
|
74
Python/etc/libnss-ldap.conf
Normal file
74
Python/etc/libnss-ldap.conf
Normal file
|
@ -0,0 +1,74 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("mode/space")
|
||||
include("secrets")
|
||||
include("ip")
|
||||
|
||||
header("""
|
||||
Fichier de configuration pour libnss-ldap.
|
||||
|
||||
Pour des informations détaillées voir libnss-ldap.conf(5)
|
||||
ainsi que /usr/share/libnss-ldap/ldap.conf
|
||||
""")
|
||||
|
||||
@# +----------------------------------------------------+
|
||||
@# | Configuration de la communiquation 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")
|
||||
|
||||
@# The distinguished name of the search base.
|
||||
%base "dc=crans,dc=org"
|
||||
|
||||
@# The distinguished name to bind to the server with.
|
||||
@# Optional: default is to bind anonymously.
|
||||
@# Please do not put double quotes around it as they
|
||||
@# would be included literally.
|
||||
%binddn secrets.ldap_readonly_auth_dn
|
||||
|
||||
@# The credentials to bind with.
|
||||
@# Optional: default is no credential.
|
||||
%bindpw secrets.ldap_readonly_password
|
||||
|
||||
@# The distinguished name to bind to the server with
|
||||
@# if the effective user ID is root. Password is
|
||||
@# stored in /etc/libnss-ldap.secret (mode 600)
|
||||
@# Use 'echo -n "mypassword" > /etc/libnss-ldap.secret' instead
|
||||
@# of an editor to create the file.
|
||||
%rootbinddn secrets.ldap_readonly_auth_dn
|
||||
|
||||
@# The LDAP version to use (defaults to 3
|
||||
@# if supported by client library)
|
||||
%ldap_version 3
|
||||
|
||||
@# Search timelimit
|
||||
%timelimit 5
|
||||
|
||||
@# Bind/connect timelimit
|
||||
%bind_timelimit 5
|
||||
|
||||
@# +------------------+
|
||||
@# | Bases de données |
|
||||
@# +------------------+
|
||||
|
||||
# On n'utilise ldap pour résoudre les bases de données
|
||||
# passwd, group et shadow
|
||||
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
|
||||
%nss_base_passwd "ou=data,dc=crans,dc=org?one?|(droits=Nounou)(droits=Apprenti)"
|
||||
%nss_base_shadow "ou=data,dc=crans,dc=org?one"
|
||||
%nss_base_group "ou=Group,dc=crans,dc=org?one"
|
8
Python/etc/libnss-ldap.secret
Normal file
8
Python/etc/libnss-ldap.secret
Normal file
|
@ -0,0 +1,8 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("secrets")
|
||||
|
||||
if has("db-main"):
|
||||
print secrets.ldap_password
|
||||
else:
|
||||
print secrets.ldap_readonly_password
|
29
Python/etc/nsswitch.conf
Normal file
29
Python/etc/nsswitch.conf
Normal file
|
@ -0,0 +1,29 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
header("""
|
||||
Fichier de configuration des bases de donnees systemes (System
|
||||
Databases) et du service de noms (Name Service Switch).
|
||||
""")
|
||||
|
||||
if has("ldap"):
|
||||
db="ldap"
|
||||
|
||||
def database(name, res):
|
||||
print name + ": " + " ".join(res)
|
||||
|
||||
@# On utilise la base de donnee du crans pour tout ce qui est
|
||||
@# compte unix
|
||||
database("passwd", ["files", db])
|
||||
database("group", ["files", db])
|
||||
database("shadow", ["files", db])
|
||||
@
|
||||
database("hosts", ["files", "dns"])
|
||||
database("networks", ["files"])
|
||||
@
|
||||
database("protocols", ["db", "files"])
|
||||
database("services", ["db", "files"])
|
||||
@
|
||||
database("ethers", ["db", "files"])
|
||||
database("rpc", ["db", "files"])
|
||||
@
|
||||
database("netgroup", ["nis"])
|
15
Python/etc/pam.d/common-account
Normal file
15
Python/etc/pam.d/common-account
Normal file
|
@ -0,0 +1,15 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("pam")
|
||||
|
||||
header("""
|
||||
/etc/pam.d/common-account - authorization settings common to all services
|
||||
|
||||
This file is included from other service-specific PAM config files,
|
||||
and should contain a list of the authorization modules that define
|
||||
the central access policy for use on the system. The default is to
|
||||
only deny service to users whose accounts are expired in /etc/shadow.
|
||||
""")
|
||||
|
||||
print "account sufficient %s" % pam_module
|
||||
print "account required pam_unix.so use_first_pass"
|
16
Python/etc/pam.d/common-auth
Normal file
16
Python/etc/pam.d/common-auth
Normal file
|
@ -0,0 +1,16 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("pam")
|
||||
|
||||
header("""
|
||||
/etc/pam.d/common-auth - authentication settings common to all services
|
||||
|
||||
This file is included from other service-specific PAM config files,
|
||||
and should contain a list of the authentication modules that define
|
||||
the central authentication scheme for use on the system
|
||||
(e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
|
||||
traditional Unix authentication mechanisms.
|
||||
""")
|
||||
|
||||
print "auth sufficient %s" % pam_module
|
||||
print "auth required pam_unix.so nullok_secure use_first_pass"
|
30
Python/etc/pam.d/common-password
Normal file
30
Python/etc/pam.d/common-password
Normal file
|
@ -0,0 +1,30 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("pam")
|
||||
|
||||
header("""
|
||||
/etc/pam.d/common-password - password-related modules common to all services
|
||||
|
||||
This file is included from other service-specific PAM config files,
|
||||
and should contain a list of modules that define the services to be
|
||||
used to change user passwords. The default is pam_unix
|
||||
""")
|
||||
|
||||
@# The "nullok" option allows users to change an empty password, else
|
||||
@# empty passwords are treated as locked accounts.
|
||||
@#
|
||||
@# (Add `md5' after the module name to enable MD5 passwords)
|
||||
@#
|
||||
@# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
|
||||
@# login.defs. Also the "min" and "max" options enforce the length of the
|
||||
@# new password.
|
||||
|
||||
print "password sufficient %s ignore_unknown_user md5 try_first_pass" % pam_module
|
||||
print "password required pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass"
|
||||
|
||||
@# Alternate strength checking for password. Note that this
|
||||
@# requires the libpam-cracklib package to be installed.
|
||||
@# You will need to comment out the password line above and
|
||||
@# uncomment the next two in order to use this.
|
||||
@# (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
|
||||
|
16
Python/etc/pam.d/common-session
Normal file
16
Python/etc/pam.d/common-session
Normal file
|
@ -0,0 +1,16 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("pam")
|
||||
|
||||
header("""
|
||||
/etc/pam.d/common-session - session-related modules common to all services
|
||||
|
||||
This file is included from other service-specific PAM config files,
|
||||
and should contain a list of modules that define tasks to be performed
|
||||
at the start and end of sessions of *any* kind (both interactive and
|
||||
non-interactive). The default is pam_unix.
|
||||
""")
|
||||
|
||||
print "session sufficient %s" % pam_module
|
||||
print "session required pam_unix.so"
|
||||
print "session required pam_mkhomedir.so"
|
87
Python/etc/pam_ldap.conf
Normal file
87
Python/etc/pam_ldap.conf
Normal file
|
@ -0,0 +1,87 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
|
||||
include("mode/space")
|
||||
include("secrets")
|
||||
include("ip")
|
||||
|
||||
header("""
|
||||
Fichier de configuration de libpam-ldap.
|
||||
|
||||
Pour des informations détaillées voir pam_ldap.conf(5)
|
||||
""")
|
||||
|
||||
@# +----------------------------------------------------+
|
||||
@# | Configuration de la communiquation avec le serveur |
|
||||
@# +----------------------------------------------------+
|
||||
|
||||
@# The distinguished name of the search base.
|
||||
%base "dc=crans,dc=org"
|
||||
|
||||
if has("db-server"):
|
||||
# Le serveur principale ainsi que les réplica se connectent par
|
||||
# socket unix
|
||||
%uri "ldapi://%2fvar%2frun%2fslapd%2fldapi/"
|
||||
else:
|
||||
# Les autres c'est par le réseau
|
||||
%uri "ldap://%s/" % admipof("ldap")
|
||||
|
||||
@# The LDAP version to use (defaults to 3
|
||||
@# if supported by client library)
|
||||
%ldap_version 3
|
||||
|
||||
if has("db-main"):
|
||||
@# The distinguished name to bind to the server with
|
||||
@# if the effective user ID is root. Password is
|
||||
@# stored in /etc/ldap.secret (mode 600)
|
||||
%rootbinddn secrets.ldap_auth_dn
|
||||
|
||||
else:
|
||||
@# The distinguished name to bind to the server with.
|
||||
@# Optional: default is to bind anonymously.
|
||||
%binddn secrets.ldap_readonly_auth_dn
|
||||
|
||||
@# The credentials to bind with.
|
||||
@# Optional: default is no credential.
|
||||
%bindpw secrets.ldap_readonly_password
|
||||
|
||||
@# The port.
|
||||
@# Optional: default is 389.
|
||||
@#port 389
|
||||
|
||||
@# The search scope.
|
||||
@#scope sub
|
||||
%scope "one"
|
||||
@#scope base
|
||||
|
||||
if not has("db-main"):
|
||||
@# Search timelimit
|
||||
%timelimit 5
|
||||
|
||||
@# Bind timelimit
|
||||
%bind_timelimit 5
|
||||
|
||||
@# Do not hash the password at all; presume
|
||||
@# the directory server will do it, if
|
||||
@# necessary. This is the default.
|
||||
%pam_password "exop"
|
||||
|
||||
@# +------------------+
|
||||
@# | Bases de données |
|
||||
@# +------------------+
|
||||
|
||||
# On n'utilise ldap pour résoudre les bases de données
|
||||
# passwd, group et shadow
|
||||
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
|
||||
%nss_base_passwd "ou=data,dc=crans,dc=org?one?|(droits=Nounou)(droits=Apprenti)"
|
||||
%nss_base_shadow "ou=data,dc=crans,dc=org?one"
|
||||
%nss_base_group "ou=Group,dc=crans,dc=org?one"
|
Loading…
Add table
Add a link
Reference in a new issue