Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
openldap-samba-windows7 [Le 16/03/2012, 22:58] wanouboy créée |
openldap-samba-windows7 [Le 10/09/2022, 06:51] (Version actuelle) 88.166.188.193 Soucis de balises <code> (détecté via le bot wiki-corrector : https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Bonjour, aprés avoir passé des nuits a se prendre la tête et quelque migraine, je veut en épargner quelques un. | + | |
+ | |||
+ | ====== OPENLDAP + SAMBA + CLIENT WINDOWS 7 ====== | ||
+ | |||
+ | Bonjour, aprés avoir passé des nuits à se prendre la tête et quelque migraines, je veux en épargner quelques un. | ||
Voici l'installation de OPENLDAP + SAMBA + CLIENT WINDOWS 7 | Voici l'installation de OPENLDAP + SAMBA + CLIENT WINDOWS 7 | ||
+ | |||
+ | |||
+ | |||
Merci a: | Merci a: | ||
Ligne 8: | Ligne 15: | ||
* Deajan le jeu de [[http://www.badministrateur.com]] | * Deajan le jeu de [[http://www.badministrateur.com]] | ||
- | {{::ldapworm.gif?200|}}{{:bgheader.png?200|}} | + | {{::ldapworm.gif?200|}} {{::bgheader.png?200 |}} {{::windows7.jpg?200|}} |
- | Installation de Openldap : | + | ---- |
- | ''apt-get install slapd ldap-utils'' | + | {{:ldapworm.gif?300 |}} |
- | Suppression de l’annuaire créer lors de l’installation : | ||
- | Lorsque vous avez installé Openldap, l’installateur va créer par défaut une base, par souci de clarté nous allons l’a supprimé. | + | ===== Installation de Openldap : ===== |
- | ''rm /etc/ldap/slapd.d/cn\=config/olcDatabase={1}hdb.ldif'' | + | Caracteristique: |
+ | * Nom du serveur: ec0.local | ||
+ | * Domaine: ec0 | ||
- | Backup de la base par défaut : | ||
- | ''tar -cvjf backup_ldap.tar.gz /var/lib/ldap | ||
- | tar -cvjf backup_ldap_config.tar.gz /etc/ldap/slapd.d'' | ||
+ | <code> | ||
+ | apt-get install slapd ldap-utils | ||
+ | </code> | ||
+ | Suppression de l’annuaire créer lors de l’installation : | ||
+ | |||
+ | Lorsque vous avez installé Openldap, l’installateur va créer par défaut une base, par souci de clarté nous allons la supprimé. | ||
+ | <code> | ||
+ | rm /etc/ldap/slapd.d/cn\=config/olcDatabase={1}hdb.ldif | ||
+ | </code> | ||
+ | Backup de la base par défaut : | ||
+ | <code> | ||
+ | tar -cvjf backup_ldap.tar.gz /var/lib/ldap | ||
+ | </code> | ||
+ | <code> | ||
+ | tar -cvjf backup_ldap_config.tar.gz /etc/ldap/slapd.d | ||
+ | </code> | ||
Suppression de la base par défaut : | Suppression de la base par défaut : | ||
- | ? | + | <code> |
rm /var/lib/ldap/* | rm /var/lib/ldap/* | ||
+ | </code> | ||
Redémarrage du service LDAP : | Redémarrage du service LDAP : | ||
- | ? | + | <code> |
/etc/init.d/slapd restart | /etc/init.d/slapd restart | ||
+ | </code> | ||
Configuration de LDAP : | Configuration de LDAP : | ||
Ligne 46: | Ligne 68: | ||
On va commencer par ajouter les schémas de base qui nous permettrons d’avoir un serveur LDAP fonctionnel. | On va commencer par ajouter les schémas de base qui nous permettrons d’avoir un serveur LDAP fonctionnel. | ||
- | ? | + | <code> |
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif | ||
+ | </code> | ||
+ | <code> | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif | ||
+ | </code> | ||
+ | <code> | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif | ||
+ | </code> | ||
+ | |||
+ | EN COUR DE REALISATION | ||
Nous allons identifier un utilisateur interne à la base LDAP, il sera nommé Manager, nous allons donc de suite configurer un mot de passe, pour des raisons des sécurités nous allons devoir au préalable hasher le mot de passe, car sinon celui-ci apparaitra en clair dans la configuration. | Nous allons identifier un utilisateur interne à la base LDAP, il sera nommé Manager, nous allons donc de suite configurer un mot de passe, pour des raisons des sécurités nous allons devoir au préalable hasher le mot de passe, car sinon celui-ci apparaitra en clair dans la configuration. | ||
Cryptage du mot de passe super user : | Cryptage du mot de passe super user : | ||
- | ? | + | |
# l'option -h {SSHA} indique que nous souhaitons crypter avec le hachage SSHA | # l'option -h {SSHA} indique que nous souhaitons crypter avec le hachage SSHA | ||
+ | <code> | ||
slappasswd -h {SSHA} | slappasswd -h {SSHA} | ||
New password: MON_MOT_DE_PASSE | New password: MON_MOT_DE_PASSE | ||
Re-enter new password: MON_MOT_DE_PASSE | Re-enter new password: MON_MOT_DE_PASSE | ||
{SSHA}XXXXXXXXXXXXXXXXX== | {SSHA}XXXXXXXXXXXXXXXXX== | ||
- | + | </code> | |
- | Plus d’information : http://www.openldap.org/doc/admin24/security.html | + | Plus d’information : https://www.openldap.org/doc/admin24/security.html |
Création de notre template de configuration : | Création de notre template de configuration : | ||
Ligne 68: | Ligne 98: | ||
Ci dessous mon template de base ldap : | Ci dessous mon template de base ldap : | ||
- | ? | + | <code> |
mkdir /etc/ldap/import_ldiff/ | mkdir /etc/ldap/import_ldiff/ | ||
+ | </code> | ||
Nous allons stoker notre base ldap dans un dossier particulier, très pratique en cas de multibase LDAP : | Nous allons stoker notre base ldap dans un dossier particulier, très pratique en cas de multibase LDAP : | ||
- | ? | + | <code> |
mkdir /var/lib/ldap/ec0.local/ | mkdir /var/lib/ldap/ec0.local/ | ||
+ | |||
chown -R openldap:openldap /var/lib/ldap/ec0.local | chown -R openldap:openldap /var/lib/ldap/ec0.local | ||
vi /etc/ldap/import_ldiff/new_config_global.ldiff | vi /etc/ldap/import_ldiff/new_config_global.ldiff | ||
+ | </code> | ||
#REMOVE COMMENT BEFORE IMPORT | #REMOVE COMMENT BEFORE IMPORT | ||
- | ? | + | |
+ | <code> | ||
dn: cn=config | dn: cn=config | ||
changetype: modify | changetype: modify | ||
Ligne 93: | Ligne 126: | ||
#Modifie le timeout | #Modifie le timeout | ||
olcIdleTimeout: 30 | olcIdleTimeout: 30 | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
vi /etc/ldap/import_ldiff/new_config_module.ldiff | vi /etc/ldap/import_ldiff/new_config_module.ldiff | ||
+ | |||
+ | </code> | ||
#REMOVE COMMENT BEFORE IMPORT | #REMOVE COMMENT BEFORE IMPORT | ||
- | ? | + | |
+ | <code> | ||
# Load dynamic backend modules | # Load dynamic backend modules | ||
dn: cn=module,cn=config | dn: cn=module,cn=config | ||
Ligne 104: | Ligne 143: | ||
olcModulepath: /usr/lib/ldap | olcModulepath: /usr/lib/ldap | ||
olcModuleload: back_hdb.la | olcModuleload: back_hdb.la | ||
+ | </code> | ||
+ | <code> | ||
vi /etc/ldap/import_ldiff/new_config_database.ldiff | vi /etc/ldap/import_ldiff/new_config_database.ldiff | ||
+ | </code> | ||
#REMOVE COMMENT BEFORE IMPORT | #REMOVE COMMENT BEFORE IMPORT | ||
- | ? | + | |
+ | <code> | ||
# Database settings | # Database settings | ||
dn: olcDatabase=hdb,cn=config | dn: olcDatabase=hdb,cn=config | ||
Ligne 120: | Ligne 162: | ||
olcDbDirectory: /var/lib/ldap/ec0.local/ | olcDbDirectory: /var/lib/ldap/ec0.local/ | ||
# Definition du compte Manager interne | # Definition du compte Manager interne | ||
- | olcRootDN: cn=Manager,dc=ec0,dc=local | + | olcRootDN: cn=admin,dc=ec0,dc=local |
# Definition du mot de passe associe au compte Manager | # Definition du mot de passe associe au compte Manager | ||
olcRootPW: {SSHA}XXXXXXXXXXXXX | olcRootPW: {SSHA}XXXXXXXXXXXXX | ||
Ligne 134: | Ligne 176: | ||
olcDbCheckpoint: 512 30 | olcDbCheckpoint: 512 30 | ||
# ACL sur la base LDAP | # ACL sur la base LDAP | ||
- | olcAccess: to attrs=userPassword by dn="cn=Manager,dc=ec0,dc=local" write by anonymous auth by self write by * none | + | olcAccess: to attrs=userPassword by dn="cn=admin,dc=<del>ec0</del>,dc=local" write by anonymous auth by self write by * none |
olcAccess: to attrs=shadowLastChange by self write by * read | olcAccess: to attrs=shadowLastChange by self write by * read | ||
olcAccess: to dn.base="" by * read | olcAccess: to dn.base="" by * read | ||
- | olcAccess: to * by dn="cn=Manager,dc=ec0,dc=local" write by * read | + | olcAccess: to * by dn="cn=admin,dc=ec0,dc=local" write by * read |
+ | </code> | ||
Import de la configuration : | Import de la configuration : | ||
- | ? | + | |
+ | <code> | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/import_ldiff/new_config_global.ldiff | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/import_ldiff/new_config_global.ldiff | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/import_ldiff/new_config_module.ldiff | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/import_ldiff/new_config_module.ldiff | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/import_ldiff/new_config_database.ldiff | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/import_ldiff/new_config_database.ldiff | ||
+ | </code> | ||
Test de la Configuration : | Test de la Configuration : | ||
- | ? | + | |
+ | <code> | ||
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" | ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" | ||
+ | </code> | ||
... Retourne l'ensemble des éléments ... | ... Retourne l'ensemble des éléments ... | ||
+ | |||
+ | <code> | ||
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "dc=ec0,dc=local" | ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "dc=ec0,dc=local" | ||
... Retourne une base vide, c'est normal ... | ... Retourne une base vide, c'est normal ... | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Modification du registre windows: ===== | ||
+ | |||
+ | Voila il ne reste plus qu'a se connecter avec un pc Windows, mais un problème subsiste et la connexion est impossible: | ||
+ | |||
+ | Eh bien les developpeurs de Samba ont eu leur petite idée. Il faut deux ingrédients: | ||
+ | |||
+ | * Faire une petite modification du registre de Windows Seven. | ||
+ | * Disposer au minimum de Samba 3.3.7 ou de Samba 3.4.0. | ||
+ | |||
+ | |||
+ | Pour ce qui est de la modification registre, rendez-vous dans la clef suivante | ||
+ | <code> | ||
+ | HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters | ||
+ | </code> | ||
+ | et ajoutez les valeurs suivantes: | ||
+ | <code> | ||
+ | DWORD DomainCompatibilityMode = 1 | ||
+ | DWORD DNSNameResolutionRequired = 0 | ||
+ | </code> |