<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.livois.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=LDAP</id>
	<title>LDAP - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.livois.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=LDAP"/>
	<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=LDAP&amp;action=history"/>
	<updated>2026-05-25T04:48:16Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.livois.com/mediawiki/index.php?title=LDAP&amp;diff=375&amp;oldid=prev</id>
		<title>Christophe : /* Rajouter des entrées dans la base */</title>
		<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=LDAP&amp;diff=375&amp;oldid=prev"/>
		<updated>2012-06-10T08:01:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Rajouter des entrées dans la base&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 10 juin 2012 à 08:01&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l240&quot;&gt;Ligne 240 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 240 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;homePostalAddress:: MTMgYXYgU3TDqXBoYW5lIE1hbGxhcm3DqSA3NTAxNyBQYXJpcw==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;homePostalAddress:: MTMgYXYgU3TDqXBoYW5lIE1hbGxhcm3DqSA3NTAxNyBQYXJpcw==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;homePhone: 01 40 71 93 22&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;homePhone: 01 40 71 93 22&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mail: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;christophe&lt;/del&gt;@livois.com&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mail: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chris&lt;/ins&gt;@livois.com&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/licode&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/licode&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;Lorsqu&amp;#039;un champ contient des accents, il doit être encodé en base64 et indiqué comme tel par les &amp;quot;::&amp;quot;. Le homePostalAddress est un exemple ici.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;Lorsqu&amp;#039;un champ contient des accents, il doit être encodé en base64 et indiqué comme tel par les &amp;quot;::&amp;quot;. Le homePostalAddress est un exemple ici.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Christophe</name></author>
	</entry>
	<entry>
		<id>https://wiki.livois.com/mediawiki/index.php?title=LDAP&amp;diff=5&amp;oldid=prev</id>
		<title>Christophe : 1 version</title>
		<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=LDAP&amp;diff=5&amp;oldid=prev"/>
		<updated>2012-05-28T20:31:42Z</updated>

		<summary type="html">&lt;p&gt;1 version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Applications]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objet du document :&amp;#039;&amp;#039;&amp;#039; Installation et configuration d’une authentification LDAP sous Linux pour les applications suivantes:&lt;br /&gt;
* login / ssh (pam)&lt;br /&gt;
* postfix&lt;br /&gt;
* courier&lt;br /&gt;
* apache&lt;br /&gt;
* samba&lt;br /&gt;
* proftpd&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;administration et l&amp;#039;accès à l&amp;#039;annuaire est aussi abordé.&lt;br /&gt;
&lt;br /&gt;
=Authentification LDAP=&lt;br /&gt;
http://www.openldap.org/doc/admin22/quickstart.html&lt;br /&gt;
&lt;br /&gt;
http://www.topology.org/linux/ldap.html&lt;br /&gt;
&lt;br /&gt;
LDAP = Lightweight Directory Access Protocol. &lt;br /&gt;
C&amp;#039;est un standard d&amp;#039;annuaire couramment utilisé comme base de comptes utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Elle constituée d&amp;#039;entrées qui sont une liste d&amp;#039;attributs avec un unique DN (Distinguished Name).&lt;br /&gt;
&lt;br /&gt;
Openldap est constitué de :&lt;br /&gt;
* slapd le service d&amp;#039;annuaire LDAP&lt;br /&gt;
* slurpd un service de réplication&lt;br /&gt;
&lt;br /&gt;
Chaque compte est constitué d&amp;#039;un ou plusieurs objets (classObjects) définis dans les schémas(&amp;lt;tt&amp;gt;/etc/openldap/schema&amp;lt;/tt&amp;gt;). &lt;br /&gt;
A chaque objet correspondent des champs.&lt;br /&gt;
&lt;br /&gt;
Ex: l&amp;#039;objet posixAccount permet de définir les comptes utilisateurs Unix. On y trouve, entre autre, les champs suivants:&lt;br /&gt;
* cn (obligatoire)&lt;br /&gt;
* uid (obligatoire)&lt;br /&gt;
* uidNumber (obligatoire)&lt;br /&gt;
* gidNumber (obligatoire)&lt;br /&gt;
* userPassword&lt;br /&gt;
* homeDirectory (obligatoire)&lt;br /&gt;
* loginShell&lt;br /&gt;
&lt;br /&gt;
Tous les objets contiennent un champ &amp;lt;tt&amp;gt;cn&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;common name&amp;lt;/tt&amp;gt;) obligatoire et unique qui permet de retrouver l&amp;#039;objet.&lt;br /&gt;
&lt;br /&gt;
==/etc/openldap/slapd.conf==&lt;br /&gt;
Il se compose de 3 sections :&lt;br /&gt;
* global&lt;br /&gt;
* backend specific(non utilisé dans notre configuration)&lt;br /&gt;
* database specific&lt;br /&gt;
&lt;br /&gt;
Cf annexe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#chown ldap /var/lib/openldap-data&lt;br /&gt;
#chmod 700 /var/lib/openldap-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Authentification système (pam)==&lt;br /&gt;
http://www.metaconsultancy.com/whitepapers/ldap.htm&lt;br /&gt;
&lt;br /&gt;
http://www.idealx.org/prj/samba/smbldap-howto.fr.html&lt;br /&gt;
&lt;br /&gt;
http://people.debian.org/~torsten/ldapnss.html&lt;br /&gt;
&lt;br /&gt;
Notre base LDAP est du type:&lt;br /&gt;
* sambaDomain&lt;br /&gt;
  Users&lt;br /&gt;
  Groups&lt;br /&gt;
  Computers&lt;br /&gt;
===Création de comptes===&lt;br /&gt;
Les outils smbldap permettent de créer des comptes facilement.&lt;br /&gt;
&lt;br /&gt;
Editer &amp;lt;tt&amp;gt;smbldap.conf&amp;lt;/tt&amp;gt; &amp;amp; &amp;lt;tt&amp;gt;smbldap_bind.conf&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/smbldap-tools&amp;lt;/tt&amp;gt;&lt;br /&gt;
Ces fichiers sont à éditer sur le serveur de gestion des comptes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;smbldap.conf&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#net getlocalsid&amp;lt;/pre&amp;gt; permet de récuper le SID du serveur&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=/etc/smbldap.conf&amp;gt;&lt;br /&gt;
SID=SID=&amp;quot;S-1-5-21-3081181328-245241861-234644524&amp;quot;&lt;br /&gt;
slaveLDAP=ldap.livois.com&lt;br /&gt;
masterLDAP=ldap.livois.com&lt;br /&gt;
suffix=&amp;quot;dc=livois,dc=com&amp;quot;&lt;br /&gt;
usersdn=&amp;quot;ou=Users,${suffix}&amp;quot;&lt;br /&gt;
computersdn=&amp;quot;ou=Computers,${suffix}&amp;quot;&lt;br /&gt;
groupsdn=&amp;quot;ou=Groups,${suffix}&amp;quot;&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut aussi définir les paramètres par défaut des comptes (gid, home, shell, ..., mail)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;smbldap_bind.conf&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=smbldap_bind.conf&amp;gt;&lt;br /&gt;
slaveDN=&amp;quot;cn=Manager,dc=livois,dc=com&amp;quot;&lt;br /&gt;
slavePw=&amp;quot;xxxxxxx&amp;quot;&lt;br /&gt;
masterDN=&amp;quot;cn=Manager,dc=livois,dc=com&amp;quot;&lt;br /&gt;
masterPw=&amp;quot;xxxxxx”&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer la structure de la base avec la commande:&lt;br /&gt;
&amp;lt;pre&amp;gt;#smbldap-populate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
les options -u 2000 et -g 2000 permettent de préciser le point de départ des compteurs uid et gid.&lt;br /&gt;
&lt;br /&gt;
Définir le mot de passe de l&amp;#039;administrateur&lt;br /&gt;
&amp;lt;pre&amp;gt;#smbldap-passwd administrator&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Créer un compte&lt;br /&gt;
&amp;lt;pre&amp;gt;#smbldap-useradd -m compte1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande comprend de nombreuses options. On peut, par exemple, choisir:&lt;br /&gt;
* l&amp;#039;organisation (-o)&lt;br /&gt;
* la création d&amp;#039;un compte samba (-a) =&amp;gt; objet sambaSamAccount&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#smbldap-passwd compte1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=gentoo&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Remarque :&amp;#039;&amp;#039;&amp;#039; pour gentoo, les outils de gestions de comptes se trouvent dans &amp;lt;tt&amp;gt;/usr/share/samba/scripts/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration de pam &amp;amp; Linux===&lt;br /&gt;
&amp;lt;blockquote class=gentoo&amp;gt;&lt;br /&gt;
Packages Gentoo: pam_ldap, nss_ldap, + nscd (optionnel)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Package Debian: libpam-ldap,libpam-cracklib, libnss-ldap +nscd (optionnel) (libpam-smb ?)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter ldap aux champs passwd, shadow, group&lt;br /&gt;
&amp;lt;licode file=/etc/nsswitch.conf&amp;gt;&lt;br /&gt;
passwd:      files ldap&lt;br /&gt;
shadow:      files ldap&lt;br /&gt;
group:       files ldap&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=&amp;quot;/etc/ldap.conf et /etc/ldap/ldap.conf (gentoo) ou /etc/pam_ldap et /etc/libnss_ldap.conf (debian)&amp;quot;&amp;gt;&lt;br /&gt;
host ldap.livois.com&lt;br /&gt;
base dc=livois,dc=com&lt;br /&gt;
pam_password exop&lt;br /&gt;
&lt;br /&gt;
# The distinguished name to bind to the server with if the effective user ID&lt;br /&gt;
# is root. Password must be stored in /etc/ldap.secret (mode 600)&lt;br /&gt;
rootbinddn cn=Manager,dc=livois,dc=com&lt;br /&gt;
&lt;br /&gt;
# RFC2307bis naming contexts&lt;br /&gt;
nss_base_passwd         dc=livois,dc=com?sub&lt;br /&gt;
nss_base_shadow         dc=livois,dc=com?sub&lt;br /&gt;
nss_base_group          ou=Groups,dc=livois,dc=com?one&lt;br /&gt;
&lt;br /&gt;
# Security options&lt;br /&gt;
ssl no&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;ldap.secret (dans /etc)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
en chmod 600, ce fichier ne contient que le mdp de la base ldap&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;/etc/pam.d&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;gentoo: system-auth&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;licode&amp;gt;&lt;br /&gt;
auth    required    /lib/security/pam_env.so&lt;br /&gt;
auth    sufficient  /lib/security/pam_unix.so likeauth nullok shadow&lt;br /&gt;
auth    sufficient  /lib/security/pam_ldap.so use_first_pass&lt;br /&gt;
auth    required    /lib/security/pam_deny.so&lt;br /&gt;
&lt;br /&gt;
account sufficient  /lib/security/pam_unix.so&lt;br /&gt;
account sufficient  /lib/security/pam_ldap.so&lt;br /&gt;
account required    /lib/security/pam_deny.so&lt;br /&gt;
&lt;br /&gt;
password    required /lib/security/pam_cracklib.so retry=3&lt;br /&gt;
password    sufficient /lib/security/pam_unix.so nullok use_authtok shadow md5&lt;br /&gt;
password    sufficient /lib/security/pam_ldap.so use_authtok&lt;br /&gt;
password    required /lib/security/pam_deny.so&lt;br /&gt;
&lt;br /&gt;
session required    /lib/security/pam_limits.so&lt;br /&gt;
session required    /lib/security/pam_unix.so&lt;br /&gt;
session required     /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0&lt;br /&gt;
session optional    /lib/security/pam_ldap.so&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;debian&amp;lt;/u&amp;gt;&lt;br /&gt;
Le fichier est séparé en quatre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=common-auth&amp;gt;&lt;br /&gt;
auth    sufficient  /lib/security/pam_unix.so likeauth nullok shadow&lt;br /&gt;
auth    sufficient  /lib/security/pam_ldap.so use_first_pass&lt;br /&gt;
auth    required    /lib/security/pam_deny.so&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=common-account&amp;gt;&lt;br /&gt;
account sufficient  /lib/security/pam_unix.so&lt;br /&gt;
account sufficient  /lib/security/pam_ldap.so&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=common-password&amp;gt;&lt;br /&gt;
password    required /lib/security/pam_cracklib.so retry=3&lt;br /&gt;
password    sufficient /lib/security/pam_unix.so nullok use_authtok shadow md5&lt;br /&gt;
password    sufficient /lib/security/pam_ldap.so use_authtok&lt;br /&gt;
password    required /lib/security/pam_deny.so&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=common-session&amp;gt;&lt;br /&gt;
session required    /lib/security/pam_limits.so&lt;br /&gt;
session required    /lib/security/pam_unix.so&lt;br /&gt;
session required     /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0&lt;br /&gt;
session optional    /lib/security/pam_ldap.so&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Utilisation des comptes===&lt;br /&gt;
Tester d&amp;#039;abord avec su, ssh (il faut relancer sshd)&lt;br /&gt;
&lt;br /&gt;
En cas de problème, regarder dans ldap.log et les logs systèmes. &lt;br /&gt;
&lt;br /&gt;
===Migration de comptes===&lt;br /&gt;
Il est possible de migrer les comptes Unix vers des comptes LDAP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#emerge migrationtools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Editer &amp;lt;tt&amp;gt;/usr/share/migrationtools/migrate-common.ph&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Administration de l&amp;#039;annuaire=&lt;br /&gt;
==Rajouter des entrées dans la base==&lt;br /&gt;
slappasswd pour créer le mot de passe de la base&lt;br /&gt;
&lt;br /&gt;
 #ldapadd -x -D “cn=Manager,dc=livois,dc=com” -w secret –f fichier.ldif -c continue malgré erreurs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #slapadd –l fichier.ldif -f slapd.conf&lt;br /&gt;
&lt;br /&gt;
Fichier d&amp;#039;exemple:&lt;br /&gt;
&amp;lt;licode file=fichier.ldif&amp;gt;&lt;br /&gt;
dn: cn=Christophe de LIVOIS,o=annuaire,dc=livois,dc=com&lt;br /&gt;
objectclass: top&lt;br /&gt;
objectclass: person&lt;br /&gt;
objectclass: organizationalPerson&lt;br /&gt;
objectclass: inetOrgPerson&lt;br /&gt;
cn: Christophe de LIVOIS&lt;br /&gt;
sn: de LIVOIS&lt;br /&gt;
givenName: Christophe&lt;br /&gt;
homePostalAddress:: MTMgYXYgU3TDqXBoYW5lIE1hbGxhcm3DqSA3NTAxNyBQYXJpcw==&lt;br /&gt;
homePhone: 01 40 71 93 22&lt;br /&gt;
mail: christophe@livois.com&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Lorsqu&amp;#039;un champ contient des accents, il doit être encodé en base64 et indiqué comme tel par les &amp;quot;::&amp;quot;. Le homePostalAddress est un exemple ici.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modifier ou supprimer des données==&lt;br /&gt;
&amp;lt;licode file=fichier.ldif&amp;gt;&lt;br /&gt;
DN: cn=Christophe de LIVOIS,o=annuaire,dc=livois,dc=com&lt;br /&gt;
changetype: delete&lt;br /&gt;
&lt;br /&gt;
DN:: Y249R3LDqWdvaXJlIGRlIE1PTlRDSEFMSU4sbz1hbm51YWlyZSxkYz1saXZvaXMsZGM9Y29t&lt;br /&gt;
changetype: delete&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #ldapmodify -c -D “cn=Manager,dc=livois,dc=com” -w secret –f fichier.ldif -c&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Il est aussi possible d&amp;#039;utiliser la commande ldapdelete mais je ne sais pas l&amp;#039;utiliser avec les accents ....&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rechercher des entrées et vérifier le fonctionnement de la base==&lt;br /&gt;
 #ldapsearch -x -b &amp;#039;&amp;#039; -s base &amp;#039;(objectclass=*)&amp;#039; namingContexts&lt;br /&gt;
 #ldapsearch -x -h ldap.livois.com -b &amp;quot;dc=livois,dc=com&amp;quot; &amp;quot;(mail=*info.test)&amp;quot; mail&lt;br /&gt;
 #ldapsearch -x -b &amp;quot;dc=livois,dc=com&amp;quot; -D &amp;quot;cn=manager,dc=livois,dc=com&amp;quot; -w secret &amp;quot;(mail=*info.test)&amp;quot; mail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Attention :&amp;#039;&amp;#039;&amp;#039;  /var/lib/openldap-data doit être en lecture pour ldap.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dump et restauration  de la base==&lt;br /&gt;
Dump&lt;br /&gt;
 #/etc/init.d/slapd stop&lt;br /&gt;
 #slapcat -f /etc/openldap/slapd.conf &amp;gt; ldap.dump &lt;br /&gt;
 #/etc/init.d/slapd start&lt;br /&gt;
&lt;br /&gt;
Restauration&lt;br /&gt;
 #slapadd -f /etc/openldap/slapd.conf -l ldap.dump -v &lt;br /&gt;
&lt;br /&gt;
Mise à jour des index&lt;br /&gt;
 #slapindex -f slapd.conf&lt;br /&gt;
&lt;br /&gt;
==Mise à jour (2.4.19)==&lt;br /&gt;
# /etc/init.d/slurpd stop ; /etc/init.d/slapd stop&lt;br /&gt;
# slapcat -l /root/ldapdump.1257549753.raw&lt;br /&gt;
# egrep -v &amp;#039;^entryCSN:&amp;#039; &amp;lt;/root/ldapdump.1257549753.raw &amp;gt;/root/ldapdump.1257549753&lt;br /&gt;
# mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/&lt;br /&gt;
# emerge --update \=net-nds/openldap-2.4.19&lt;br /&gt;
# etc-update, s&amp;#039;assurer que tous les fichiers sont mis à jour - attention aux schémas pour la commande suivante&lt;br /&gt;
# remplacer ldbm par hdb dans le champ database de slapd.conf&lt;br /&gt;
# slapadd -l /root/ldapdump.1257549753&lt;br /&gt;
# chown ldap:ldap /var/lib/openldap-data/*&lt;br /&gt;
# /etc/init.d/slapd start&lt;br /&gt;
&lt;br /&gt;
A noter que la base ldbm n&amp;#039;existe plus dans la version 2.4. Il faut la remplacer par la base hdb ou bdb.&lt;br /&gt;
&lt;br /&gt;
http://www.openldap.org/faq/data/cache/1167.html&lt;br /&gt;
&lt;br /&gt;
http://www.openldap.org/faq/data/cache/1085.html&lt;br /&gt;
&lt;br /&gt;
==Réplication (TODO)==&lt;br /&gt;
&lt;br /&gt;
=Outils de gestion – accès à l&amp;#039;annuaire=&lt;br /&gt;
==Lecture de l&amp;#039;annuaire==&lt;br /&gt;
===Mozilla - Thunderbird===&lt;br /&gt;
http://www.mozilla.org/projects/thunderbird/specs/ldap.html donne en particulier le schema ldap de thunderbird.&lt;br /&gt;
&lt;br /&gt;
http://kb.mozillazine.org/Sharing_address_books&lt;br /&gt;
&lt;br /&gt;
http://wiki.mozilla.org/MailNews:LDAP_Address_Books&lt;br /&gt;
&lt;br /&gt;
[[Image:Thunderbird-ldap.png|center]]&lt;br /&gt;
&lt;br /&gt;
Thunderbird n&amp;#039;est pas capable d&amp;#039;écrire dans une base LDAP. Il en sera sans doute capable un jour (cf https://bugzilla.mozilla.org/show_bug.cgi?id=86405).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comme indiqué http://wiki.mozilla.org/MailNews:LDAP_Address_Books, il est possible d&amp;#039;attribuer un champ ldap à un champ affiché par thunderbird&lt;br /&gt;
Pour cela il est nécessaire de modifier le fichier prefs.js&lt;br /&gt;
&amp;lt;licode file=.mozilla-thunderbird/nn43lfzx.default/prefs.js&amp;gt;&lt;br /&gt;
user_pref(&amp;quot;ldap_2.servers.default.attrmap.WorkAddress&amp;quot;, &amp;quot;homePostalAddress&amp;quot;);&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Navigateur LDAP==&lt;br /&gt;
===GQ===&lt;br /&gt;
http://gq-project.org/index.php&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;outil Gq sous Linux permet de naviguer à travers la base LDAP.&lt;br /&gt;
&lt;br /&gt;
===LDAP exporter===&lt;br /&gt;
http://www.novell.com/coolsolutions/tools/14287.html&lt;br /&gt;
&lt;br /&gt;
LDAP exporter est un navigateur LDAP pour Windows.&lt;br /&gt;
===phpldapadmin===&lt;br /&gt;
Cet outil est une sorte de gq en php.&lt;br /&gt;
&lt;br /&gt;
http://phpldapadmin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
http://phpldapadmin.sourceforge.net/screenshots.php&lt;br /&gt;
&lt;br /&gt;
====Création de nouveaux comptes avec un template====&lt;br /&gt;
http://wiki.phpldapadmin.info/tiki-index.php?page_ref_id=24&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;idée est de créer un modèle pour la création de nouveaux comptes.&lt;br /&gt;
Les modèles se trouvent dans le répertoire templates. De nombreux exemples sont proposés.&lt;br /&gt;
En cas d&amp;#039;adaption d&amp;#039;un modèle, il ne faut pas oublier de cliquer sur &amp;quot;purge caches&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gestion de comptes utilisateurs==&lt;br /&gt;
===Phamm===&lt;br /&gt;
http://www.phamm.org&lt;br /&gt;
&lt;br /&gt;
Cf document [[Interface_utilisateurs|Interfaces utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
===LAM - LDAP account Manager===&lt;br /&gt;
&lt;br /&gt;
http://lam.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
N&amp;#039;existe pas en package Gentoo (mars 2005) mais semble intéressant.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* management of Unix user and group accounts (posixAccount/posixGroup)&lt;br /&gt;
* management of Samba 2.x/3 user and host accounts (sambaAccount/sambaSamAccount)&lt;br /&gt;
* profiles for account creation&lt;br /&gt;
* editor for organizational units (OU)&lt;br /&gt;
* account creation via file upload&lt;br /&gt;
* automatic creation/deletion of home directories&lt;br /&gt;
* setting quotas&lt;br /&gt;
* support for LDAP+SSL&lt;br /&gt;
* multi-language support (English, French, German, Hungarian, Japanese)&lt;br /&gt;
* multiple configuration files&lt;br /&gt;
* PDF output for user/group/host accounts&lt;br /&gt;
* additional text for user PDFs&lt;br /&gt;
* supports multiple password hashes&lt;br /&gt;
&lt;br /&gt;
===Samba-console===&lt;br /&gt;
http://imc.sourceforge.net/samba-console.html&lt;br /&gt;
&lt;br /&gt;
===Luma===&lt;br /&gt;
&lt;br /&gt;
=Annexes=&lt;br /&gt;
==Description de la base==&lt;br /&gt;
===Champs===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
!ObjectClass||width=200|must||width=200|may&lt;br /&gt;
|-&lt;br /&gt;
|inetOrgPerson|| ||&lt;br /&gt;
|-&lt;br /&gt;
|posixAccount|| ||&lt;br /&gt;
|-&lt;br /&gt;
|shadowAccount|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sambaSamAccount|| ||&lt;br /&gt;
|-&lt;br /&gt;
|MailAccount|| ||&lt;br /&gt;
|-&lt;br /&gt;
|VirtualForward|| ||&lt;br /&gt;
|-&lt;br /&gt;
|Vacation|| ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Définition des groupes===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
! width=100 |&lt;br /&gt;
! width=100 |admin&lt;br /&gt;
! width=100 |famille&lt;br /&gt;
! width=100 |amis&lt;br /&gt;
! width=100 |public&lt;br /&gt;
|-&lt;br /&gt;
|postfix|| || || ||&lt;br /&gt;
|-&lt;br /&gt;
|courier|| || || ||&lt;br /&gt;
|-&lt;br /&gt;
|apache|| || || ||&lt;br /&gt;
|-&lt;br /&gt;
|annuaire|| || || ||&lt;br /&gt;
|-&lt;br /&gt;
|samba|| || || ||&lt;br /&gt;
|-&lt;br /&gt;
|proftp|| || || ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Slapd.conf===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=/etc/openldap/slapd.conf&amp;gt;&lt;br /&gt;
include         /etc/openldap/schema/core.schema&lt;br /&gt;
include         /etc/openldap/schema/cosine.schema&lt;br /&gt;
include         /etc/openldap/schema/nis.schema&lt;br /&gt;
include         /etc/openldap/schema/inetorgperson.schema&lt;br /&gt;
include         /etc/openldap/schema/amavisd-new.schema&lt;br /&gt;
include         /etc/openldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
include         /etc/openldap/schema/phamm.schema&lt;br /&gt;
include         /etc/openldap/schema/pureftpd.schema&lt;br /&gt;
include         /etc/openldap/schema/dnsdomain2.schema&lt;br /&gt;
include         /etc/openldap/schema/ISPEnv2.schema&lt;br /&gt;
&lt;br /&gt;
allow bind_v2&lt;br /&gt;
database        bdb&lt;br /&gt;
suffix          &amp;quot;dc=livois,dc=com&amp;quot;&lt;br /&gt;
rootdn          &amp;quot;cn=Manager,dc=livois,dc=com&amp;quot;&lt;br /&gt;
rootpw          {SSHA}h+2e7I6pslu4njRCl0vCPo3nD4NXJGaV&lt;br /&gt;
directory       /var/lib/openldap-data/&lt;br /&gt;
&lt;br /&gt;
# specific for mail&lt;br /&gt;
index   objectClass                     eq&lt;br /&gt;
index   cn,mail                         eq,subinitial&lt;br /&gt;
index   vd,delete                       eq,pres&lt;br /&gt;
index   accountActive,forwardActive     eq,pres&lt;br /&gt;
index   smtpAuth                        eq,pres&lt;br /&gt;
index   associatedDomain                pres,eq,sub&lt;br /&gt;
index   aAAARecord                      pres,eq&lt;br /&gt;
index   aRecord                         pres,eq&lt;br /&gt;
index   sn,uid,displayName              pres,eq,sub&lt;br /&gt;
index   uidNumber,gidNumber             eq&lt;br /&gt;
index   default                         sub&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ACLs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode&amp;gt;&lt;br /&gt;
# lock down passwords&lt;br /&gt;
access to dn.regex=&amp;quot;vd=([^,]+),o=hebergement,dc=livois,dc=com$&amp;quot; attrs=userPassword&lt;br /&gt;
        by dn=&amp;quot;cn=Manager,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by dn.exact=&amp;quot;cn=phamm,o=hebergement,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by dn.exact,expand=&amp;quot;cn=postmaster,vd=$1,o=hebergement,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by * none&lt;br /&gt;
&lt;br /&gt;
# allow users to write some stuff&lt;br /&gt;
access to dn.regex=&amp;quot;vd=([^,]+),o=hebergement,dc=livois,dc=com$&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=Manager,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by dn.exact=&amp;quot;cn=phamm,o=hebergement,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by dn.exact,expand=&amp;quot;cn=postmaster,vd=$1,o=hebergement,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by * read&lt;br /&gt;
&lt;br /&gt;
# lock down passwords&lt;br /&gt;
access to attrs=userPassword&lt;br /&gt;
        by dn=&amp;quot;cn=Manager,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by * none&lt;br /&gt;
&lt;br /&gt;
# everything else is read-only&lt;br /&gt;
access to *&lt;br /&gt;
        by dn=&amp;quot;cn=Manager,dc=livois,dc=com&amp;quot; write&lt;br /&gt;
        by * read&lt;br /&gt;
&lt;br /&gt;
access to dn=&amp;quot;&amp;quot; by * read&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration Gentoo==&lt;br /&gt;
slapd&lt;br /&gt;
&lt;br /&gt;
slurpd (si la réplication est mise en place)&lt;br /&gt;
&lt;br /&gt;
puis les services qui utilisent openldap&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!openldap!!D!!&lt;br /&gt;
|-&lt;br /&gt;
|openldap||slapd||&lt;br /&gt;
/etc/openldap/slapd.conf&lt;br /&gt;
/etc/openldap/schema/&lt;br /&gt;
/var/lib/openldap-data&lt;br /&gt;
|-&lt;br /&gt;
|nss_ldap|| ||&lt;br /&gt;
/etc/nsswitch.conf&lt;br /&gt;
/etc/pam.d/system-auth&lt;br /&gt;
/etc/openldap/ldap.conf&lt;br /&gt;
/etc/ldap.conf&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Copy|2006-2009|Christophe de Livois|FDL}}&lt;/div&gt;</summary>
		<author><name>Christophe</name></author>
	</entry>
</feed>