Authentification des utilisateurs avec OpenLDAP et Samba 3.0



Documents pareils
Authentification des utilisateurs avec OpenLDAP

Authentification des utilisateurs avec OpenLDAP et Samba 3.0

I. Présentation du serveur Samba

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Conférence technique sur Samba (samedi 6 avril 2006)

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

INSTALLATION ET CONFIGURATION DE OPENLDAP

PARAMETRER SAMBA 2.2

Couplage openldap-samba

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Module Samba: Concepts et fonctionnement

Faites danser votre serveur avec Samba. Association LOLITA

LINUX REMPLAÇANT WINDOWS NT

SAMBA. partager des fichiers sous Linux par un protocole compatible Microsoft

Installation et configuration d un serveur SAMBA sous linux Red Hat

RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

Imprimantes et partage réseau sous Samba avec authentification Active Directory

LDAP et carnet d'adresses mail

Support de cours. Serveur de fichiers Samba. 2003, Sébastien Namèche - 1

Création d un contrôleur de domaine sous Linux

Annuaire LDAP + Samba

Aubert Coralie, Ruzand Brice GTR 2002 Bonvarlet Manuel, Desroches Alexandre, Magnin Cyril DRT Notice technique 1

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

LDAP : pour quels besoins?

UE5A Administration Réseaux LP SIRI

Déploiement de (Open)LDAP

Partages de fichiers SAMBA et d imprimantes CUPS entre deux réseaux internes.

OpenLDAP au quotidien: trucs et astuces

14. Samba Introduction Protocoles Microsoft. Page suivante Page précédente Table des matières

Outils Logiciels Libres

Projet Semestre2-1SISR

Serveur d impression CUPS

Utiliser Améliorer Prêcher. Introduction à LDAP

Linux Intranet. Guillaume Allègre INP-FC octobre Grenoble INP Formation Continue. G.

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Tutorial OpenLDAP. Installation et configuration (clients/serveurs) Migration NIS LDAP dans GRID5000 Sécurisation par SSL et optimisations

TP associé au cours Samba

Initiation à LINUX pour Scribe

Présentation de Samba

Formation Samba 3. Ganaël Laplanche

Configuration d'un annuaire LDAP

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

MISE EN PLACE D UN FIREWALL ET D UN SERVEUR PROXY SOUS LINUX MANDRIVA.

ZIMBRA Collaboration Suite SAMBA OPENVPN

OpenLDAP, un outil d administration réseau. (Implémentation d openldap à l INRA de Rennes)

M2-ESECURE Rezo TP3: LDAP - Mail

Authentification unifiée Unix/Windows


Institut Universitaire de Technologie

Sécurité des systèmes d exploitation

Lieberman Software Corporation

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

La double authentification dans SharePoint 2007

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

LP Henri Becquerel - Tours

Le voisinage réseau Windows sous Linux

Déploiement d'un serveur ENT

1. Présentation du TP

Une unité organisationnelle (Staff) comporte une centaine d'utilisateur dans Active Directory.

SÉCURITÉ DU SI. Authentification Centralisée LDAP / Radius. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET: Version : 1.0

Le protocole FTP (File Transfert Protocol,

Architecture PKI en Java

Annuaire LDAP, SSO-CAS, ESUP Portail...

OpenLDAP. Astuces pour en faire l'annuaire d'entreprise idéal THÈME TECHNIQUE - ADMINISTRATION SYSTÈME. Jonathan CLARKE - jcl@normation.

Prérequis. Résolution des problèmes WMI. Date 03/30/2010 Version 1.0 Référence 001 Auteur Antoine CRUE

Installation et configuration de Vulture Lundi 2 février 2009

Description de la maquette fonctionnelle. Nombre de pages :

Mise en place d un proxy Squid avec authentification Active Directory

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

Kerberos/AD/LDAP/Synchro

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Installer un domaine NIS

L annuaire et le Service DNS

Installer un domaine DNS

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Installation d'un Contrôleur Principal de Domaine SAMBA 4

Ajout et Configuration d'un nouveau poste pour BackupPC

TELECOM- ANNEE 2003/2004

Les différentes méthodes pour se connecter

Mise en oeuvre d un Serveur de CD AXIS StorPoint

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits


Architecture de la plateforme SBC

Instructions Mozilla Thunderbird Page 1

Acronymes et abréviations. Acronymes / Abbréviations. Signification

WDpStats Procédure d installation

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Tutoriel compte-rendu Mission 1

Client windows Nagios Event Log

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

LinkStation Manuel d installation

Synchronisation d'annuaire Active Directory et de base LDAP

Contenu. Cocher : Network Policy and Access Services > Next > Next. Cocher : Network Policy Server > Next > Install

Transcription:

Authentification des utilisateurs avec OpenLDAP et Samba 3.0 Ce tutoriel développe la mise en place d'un contrôleur de Domaine Principal (PDC) couplet avec un contrôleur de Domaine de Replication (BDC) basé sur une authentification POSIX/Samba. La racine principale de l'annuaire sera nommée : dc=alex,dc=fr dc pour domain controler, alex comme nom du domaine et fr pour France. Pour que les clients Window$ puissent être identifiés par le contrôleur de domaine, il faudra configurer l'annuaire LDAP comme base de donnée centralisée d'utilisateurs puis la mettre en relation avec les modules d'authentification Unix, à savoir PAM et NSS puis Samba. Installation des packages OpenLDAP Pour les Serveurs : openldap-2x openldap-clients-2x openldap-servers-2x libldap2-developenldap-migration-2x (pour le master seulement) nss_ldap-2x pam_ldap-1x Configuration d'openldap Le fichier /etc/openldap/slapd.conf comporte diverses informations telles que la racine supérieure de l'annuaire, l'administrateur principal de l'annuaire LDAP et son mot de passe, les droits d'accès par défaut, les fichiers d'objets et de syntaxe à utiliser ainsi que les règles d'accès (ACL) pour les entrées et les attributs de l'annuaire LDAP. Compte tenu que ce fichier contient le mot de passe de l'administrateur de l'annuaire, il est impératif de positionner les droits «rwx------» sur le fichier slapd.conf : chmod 700 /etc/openldap/slapd.conf Modifier le fichier /etc/openldap/slapd.conf # $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 # Version 0.2 # /usr/share/openldap/schema/core.schema /usr/share/openldap/schema/cosine.schema /usr/share/openldap/schema/corba.schema /usr/share/openldap/schema/inetorgperson.schema /usr/share/openldap/schema/java.schema /usr/share/openldap/schema/krb5-kdc.schema /usr/share/openldap/schema/kerberosobject.schema

/usr/share/openldap/schema/misc.schema /usr/share/openldap/schema/nis.schema /usr/share/openldap/schema/openldap.schema # /usr/share/openldap/schema/rfc822-mailmember.schema # /usr/share/openldap/schema/pilot.schema # /usr/share/openldap/schema/autofs.schema # Prise en compte du schema Samba 3.0 que nous allons copier /etc/openldap/schema/samba.schema # /usr/share/openldap/schema/qmail.schema # /usr/share/openldap/schema/mull.schema # /usr/share/openldap/schema/netscape-profile.schema # /usr/share/openldap/schema/trust.schema # /usr/share/openldap/schema/dns.schema # /usr/share/openldap/schema/cron.schema /etc/openldap/schema/local.schema # Inclusion du fichier slapd.access.conf contenant les ACLs /etc/openldap/slapd.access.conf # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile argsfile modulepath #moduleload #moduleload #moduleload #moduleload /var/run/ldap/slapd.pid /var/run/ldap/slapd.args /usr/lib/openldap back_dnssrv.la back_ldap.la back_passwd.la back_sql.la # SASL config #sasl-host ldap.example.com # To allow TLS-enabled connections, create / usr/share/ssl/certs/slapd.pem # and uncomment the following lines. #TLSRandFile /dev/random #TLSCipherSuite HIGH:MEDIUM:+SSLv2 TLSCertificateFile /etc/ssl/openldap/ldap.pem TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem #TLSCACertificatePath /etc/ssl/openldap/ TLSCACertificateFile /etc/ssl/openldap/ldap.pem #TLSVerifyClient 0 # vérification ou non la structure des objets # si vous mettez «on» vous n'utilisez que les propriétés des objets # définies dans le fichier slapd.oc.conf (voir Objets Attributs) schemacheck off ################################################################## ##### # ldbm database definitions ################################################################## ##### database ldbm

# Définition de la racine du serveur suffix "dc=alex,dc=fr" # Définition du compte d'administration ici Manager # c'est un nom arbitraire et ce n'est pas forcément un # utilisateur défini dans /etc/passwd du système rootdn "cn=manager,dc=alex,dc=fr" #mot de passe en clair est «mypassword», voir plus loin comment le crypter rootpw {crypt}ijfyncsnctbyg # Définition des accès autorisés à la base LDAP defaultaccess read # The database directory MUST exist prior to running slapd AND # should only be accessable by the slapd/tools. Mode 700 recommende. directory /var/lib/ldap # Indices to maintain # Ces paramètres définissent les attributs autorisés dans l'annuaire # Ils sont dépendant de la version du samba.schema index objectclass,uidnumber,gidnumber,memberuid eq index sambasid,sambaprimarygroupsid,sambadomainname eq index mail,surname,givenname eq,subinitial index cn,sn,uid,displayname pres,sub,eq index default sub # Indique le format du cryptage, ici {crypt} password-hash {crypt} password-crypt-salt-format "$1$%.8s" # logging loglevel 256 # Basic ACL # peuvent etre écrit dans ce fichier slapd.conf ou dans slapd.access.conf # Si vous ne souhaitez pas mettre en place un serveur principal # avec un serveur de replication, effacez les lignes suivantes # # DEBUT Configuration du PDC/Master LDAP replogfile /var/lib/ldap/replog replica host=srv6.alex.fr:389 binddn=cn=manager,dc=alex,dc=fr bindmethod=simple credentials=mypassword tls=yes # FIN Configuration du PDC/Master LDAP # # # Pour le BDC copiez tout le contenu du fichier slapd.conf # (sauf la partie réservée au PDC/Master LDAP) et ajoutez ceci # # DEBUT Configuration du BDC/Slave LDAP updatedn "cn=manager,dc=alex,dc=fr" updateref "ldap://srv2.alex.fr" # FIN Configuration du BDC/Slave LDAP

Le mot de passe de l'administrateur est «mypassword» en clair, pour le crypter au format {CRYPT}, il faudra taper (exemple avec mypassword) : [root@pc user]# slappasswd -v -s mypassword -h {CRYPT} {CRYPT}G.H5krNMMw0cc Modifier le fichier /etc/openldap/slapd.access.conf Pour le PDC/Master LDAP # Basic ACL Authentification PDC POSIX/SAMBA # peuvent être écrit dans ce fichier slapd.conf ou dans slapd.access.conf # La section attr=userpassword autorise uniquement le root et # les utilisateurs a modifier leur passwd access to dn=".*,dc=alex,dc=fr" attrs=userpassword by dn="uid=root,ou=people,dc=alex,dc=fr" write by self write by anonymous auth by * none # La section attr=shadowlastchange permet de mettre a jour # la date de modification du passwd access to dn=".*,dc=alex,dc=fr" attrs=shadowlastchange by dn=".*,dc=alex,dc=fr" write by self write by * auth access to dn="ou=people,dc=alex,dc=fr" by dn="uid=root,ou=people,dc=alex,dc=fr" write by * read access to dn="ou=groups,dc=alex,dc=fr" by dn="uid=root,ou=people,dc=alex,dc=fr" write by * read access to dn="ou=hosts,dc=alex,dc=fr" by dn="uid=root,ou=people,dc=alex,dc=fr" write by * read access to dn=".*,dc=alex,dc=fr" by self write by * read access to attrs=lmpassword,ntpassword by dn="uid=root,dc=alex,dc=fr" write by * none Pour le BDC/Slave LDAP # Basic ACL Authentification BDC POSIX/SAMBA # peuvent être écrit dans ce fichier slapd.conf ou dans slapd.access.conf access to dn=".*,dc=alex,dc=fr" attrs=userpassword by dn="cn=manager,dc=alex,dc=fr" write by self read by anonymous auth by * none

access to dn=".*,dc=alex,dc=fr" attrs=shadowlastchange by dn="cn=manager,dc=alex,dc=fr" write by self read by * none access to attrs=lmpassword,ntpassword by dn="uid=root,dc=alex,dc=fr" write by dn="cn=manager,dc=alex,dc=fr" write by * none access to * by dn="cn=manager,dc=alex,dc=fr" write by * read Pour le bon fonctionnement de LDAP vous devez copier le fichier samba.schema avant de lancer le daemon (voir installation de Samba 3.0 depuis la source avec options ldap) Créez un fichier appelé initial.ldif sur le PDC qui contiendra les informations nécessaires au fonctionnement de votre annuaire LDAP : dn: dc=alex,dc=fr objectclass: dcobject objectclass: organization dc: alex o: alex description: Server LDAP alex dn: cn=manager,dc=alex,dc=fr objectclass: organizationalrole cn: Manager description: Directory Manager dn: ou=people,dc=alex,dc=fr objectclass: top objectclass: organizationalunit ou: People description: Utilisateurs de l Organization dn: ou=groups,dc=alex,dc=fr objectclass: top objectclass: organizationalunit ou: Groups description: Groups de l Organization dn: ou=computers,dc=alex,dc=fr objectclass: top objectclass: organizationalunit ou: Computers description: Ordinateurs du Domaine dn: ou=hosts,dc=alex,dc=fr objectclass: top objectclass: organizationalunit ou: Hosts description: Hosts du Domaine Reportez vous à la page Création et Gestion de l'annuaire pour son utilisation.

Ainsi qu'au chapitre Migration des données POSIX vers LDAP. Configurez les autres fichiers du serveur PDC et BDC selon les explications du chapitre "Mappage de l'annuaire LDAP avec les modules d'authentification Unix. Configurez le BDC comme un serveur. Réplication de l'annuaire LDAP vers le serveur BDC/Slave Ajoutez dans /etc/hosts l'ip de votre serveur PDC LDAP [root@srv6 root]# echo "192.168.0.2 srv2.alex.fr srv2" >> / etc/hosts ATTENTION le serveur LDAP BDC doit être arrêté avant de réaliser ces commandes Passer l'annuaire du serveur LDAP/Master en lecture seule [root@srv2 root]# echo "readonly on" >> /etc/openldap/slapd.conf [root@srv2 root]# service ldap restart Arrêt du serveur LDAP : [ OK ] Arrêt du serveur de propagation pour LDAP (slurpd) : [ECHEC] ldaps Lancement du serveur LDAP (ldap + ldaps) : [ OK ] Lancement du serveur de propagation pour LDAP (slurpd) : [ OK ] [root@srv2 root]# Lancer la réplication depuis le serveur BDC/Slave, pour qu'il puisse enregistrer une copie de la database LDAP/Master dans la sienne. Sous Mandrake, donnez les droits root à ldap [root@srv6 root]# usermod -s /bin/bash ldap Puis lancez sur le serveur BDC/Slave : [root@srv6 root]# ldapsearch -x -LLL -h srv2.alex.fr -D "cn=manager,dc=alex,dc=fr" -w mypassword su ldap -c 'slapadd -c; slapindex' Vérifiez si la réplication c'est bien déroulée sur le BDC [root@srv6 root]# ll /var/lib/ldap/ [root@srv6 root]# (Affichage de vos db) Relancer le serveur LDAP/Master toujours en lecture seule [root@srv2 root]# service ldap restart Arrêt du serveur LDAP : [ OK ] Arrêt du serveur de propagation pour LDAP (slurpd) : [ OK ] ldaps Lancement du serveur LDAP (ldap + ldaps) : [ OK ] Lancement du serveur de propagation pour LDAP (slurpd) : [ OK ] Relancer le serveur LDAP/Master en lecture-écriture [root@srv2 root]# perl -pi -e 's/^readonly on/#readonly on/g' / etc/openldap/slapd.conf [root@srv2 root]# service ldap restart Arrêt du serveur LDAP : [ OK ] Arrêt du serveur de propagation pour LDAP (slurpd) : [ OK ] ldaps

Lancement du serveur LDAP (ldap + ldaps) : [ OK ] Lancement du serveur de propagation pour LDAP (slurpd) : [ OK ] Lancer le serveur LDAP BDC/Slave [root@srv6 root]# service ldap start Enlevez les droits root donnés à ldap sur le serveur BDC/Slave par cette commande [root@srv6 root]# usermod -s /bin/false ldap Vérifiez sur le serveur LDAP PDC dans le répertoire /var/lib/ldap/replica si ces 2 fichiers ont été crées : srv6.alex.fr:389.rej srv6.alex.fr:389.rej.lock Puis tapez cette commande sur le serveur LDAP PDC [root@srv2 root]# slurpd -f /etc/openldap/slapd.conf -d 255... Config: ** configuration file successfully read and parsed Config: (replogfile /var/lib/ldap/replog) Config: (replica host=srv6.alex.fr:389 binddn=cn=manager,dc=alex,dc=fr bindmethod=simple credentials=mypassword tls=yes) Config: ** successfully added replica "srv6.alex.fr:389" Config: ** configuration file successfully read and parsed Si ce n'est pas le cas notez l'erreur, par exemple [root@srv2 root]# slurpd -f /etc/openldap/slapd.conf -d 255... Error: ldap_simple_bind_s for srv6.alex.fr:389 failed: Inappropriate authentication... Retrying operation for DN dc=alex,dc=fr on replica srv6.alex.fr:389 end replication thread for srv6.alex.fr:389 Le compte en écriture de vos ACLs n'ai pas bon... Installation de Samba 3.0 depuis la source avec options LDAP [user@pc tmp]$ cd samba-3.0.0/source/ [user@pc source]$./configure --with-ldap --with-ldapsam - withacl-support [user@pc source]$ su [root@pc source]# make [root@pc source]# make install Copiez le fichier samba.schema fournit pour LDAP [root@pc source]# cd.. [root@pc samba-3.0.0]# cd examples/ldap/ [root@pc LDAP]# cp samba.schema /etc/openldap/schema/ smb.conf

Créer vos fichiers smb.conf dans le répertoire /usr/local/samba/lib Dans cet exemple je crée un répertoire /home/samba sur le serveur BDC uniquement, qui contiendra 3 sous répertoires : /home/samba/netlogon (répertoire des différents fichiers de logon) /home/samba/partage (répertoire Public réservé au groupe users) /home/samba/profiles (ou seront stocké les profiles des utilisateurs window$) Une prochaine version de ce tutoriel (plus réaliste) permettra d'avoir sur le PDC les fichiers précédent et sur le BDC les replica de ceux ci. Sur le serveur PDC Il devra ressembler à celui ci : #======================= Global Settings ========================= [global] # workgroup = NT-Domain-Name or Workgroup-Name workgroup = ALEX # netbios name is the name you will see in "Network Neighbourhood", netbios name = PDC-LINUX server string = Samba Server %v log file = /usr/local/samba/var/log.%m max log size = 5 # Security and Domain Membership Options: hosts allow = 127.0.0.1 192.168.0.0/24 hosts deny = 0.0.0.0/0 interfaces = eth* lo bind interfaces only = yes security = user encrypt passwords = yes passwd program = /usr/bin/passwd %u passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 local master = yes os level = 64 domain master = yes # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; preferred master = yes domain logons = yes

# run a logon batch file logon script = logon.bat # %L substitutes for this servers netbios name, %U is username # Le Profile des utilisateurs sera stocké sur le serveur BDC logon path = \\bdc-linux\profiles\%u logon home = \\bdc-linux\%u # Script for domain controller with LDAP backend for adding machines # (please configure in /usr/local/sbin/smbldap_conf.pm first) add machine script = /usr/local/sbin/smbldap-useradd.pl -w -d / dev/null -g machines -c 'Machine Account' -s /bin/false %u # LDAP configuration for Domain Controlling: # running 'smbpasswd -w mypassword' ldap admin dn = "cn=manager,dc=alex,dc=fr" ldap server = 127.0.0.1 ldap idmap suffix = ou=people,dc=alex,dc=fr ldap suffix = dc=alex,dc=fr ldap passwd sync = yes passdb backend = ldapsam:ldap://localhost idmap backend = ldapsam:ldap://localhost ldap user suffix = ou=people ldap group suffix = ou=groups ldap machine suffix = ou=people ldap port = 636 ; if ldap ssl = on ldap ssl = on # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names via DNS nslookups. dns proxy = no #======================= Share Definitions ================== [homes] comment = Home Directories browseable = no writable = yes valid users = %S [netlogon] comment = Network Logon Service path = bdc-linux/home/samba/netlogon writeable = no share modes = no read only = yes write list = @adm root [Profiles] path = /home/samba/profiles browseable = no writeable = yes create mask = 0600 directory mask = 0700 [public] comment = Repertoire Commun Users

path = bdc-linux/home/samba/partage public = yes writable = yes printable = no write list = @users Sur le serveur BDC Il devra ressembler à celui la : #======================= Global Settings ===================== [global] # workgroup = NT-Domain-Name or Workgroup-Name workgroup = ALEX # netbios name is the name you will see in "Network Neighbourhood", netbios name = BDC-LINUX server string = Samba Server %v log file = /usr/local/samba/var/log.%m max log size = 5 # Security and Domain Membership Options: hosts allow = 127.0.0.1 192.168.0.0/24 hosts deny = 0.0.0.0/0 interfaces = eth* lo bind interfaces only = yes security = user encrypt passwords = yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 os level = 64 domain master = no # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; preferred master = yes domain logons = yes # run a logon batch file logon script = logon.bat # %L substitutes for this servers netbios name, %U is username # Le Profile des utilisateurs sera stocké sur le serveur BDC logon path = \\bdc-linux\profiles\%u logon home = \\bdc-linux\%u # Script for domain controller with LDAP backend for adding machines # (please configure in /usr/local/sbin/smbldap_conf.pm first) add machine script = /usr/local/sbin/smbldap-useradd.pl -w -d /

dev/null -g machines -c 'Machine Account' -s /bin/false %u; sleep 5 # LDAP configuration for Domain Controlling: # running 'smbpasswd -w mypassword' ldap admin dn = "cn=manager,dc=alex,dc=fr" ldap server = 127.0.0.1 ldap idmap suffix = ou=people,dc=alex,dc=fr ldap suffix = dc=alex,dc=fr ldap passwd sync = yes passdb backend = ldapsam:ldap://localhost idmap backend = ldapsam:ldap://localhost ldap user suffix = ou=people ldap group suffix = ou=groups ldap machine suffix = ou=people ldap port = 636 ; if ldap ssl = on ldap ssl = on # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names via DNS nslookups. dns proxy = no #==================== Share Definitions ===================== [homes] comment = Home Directories browseable = no writable = yes valid users = %S [netlogon] comment = Network Logon Service path = /home/samba/netlogon writeable = no share modes = no read only = yes write list = @adm root [Profiles] path = /home/samba/profiles browseable = no writeable = yes create mask = 0600 directory mask = 0700 [public] comment = Repertoire Commun Users path = /home/samba/partage public = yes writable = yes printable = no write list = @users Si vous utilisez Samba comme serveur WINS sur votre PDC, assurez vous que vous avez configurez le BDC en tant que client WINS.

Vous pouvez copier smbldap_conf.pm du PDC vers le BDC, en vérifiant les valeurs de $slaveldap et $masterldap (voir Smbldap-tools) Le logon script dans cet exemple permet de monter un lecteur réseau appelé Public sous la lettre P: vous pouvez le copier sur le serveur BDC. voici le contenu de logon.bat net use P: \\bdc-linux\public Pour controler les daemons samba plus facilement que par les commandes : [root@pc root]# /usr/local/samba/bin/smbd -D [root@pc root]# /usr/local/samba/bin/nmbd -D Faites vous un script ou copier le miens (smb script start, stop,...) dans le répertoire /etc/init.d/ Il faut donner le mot de passe du Manager LDAP a Samba pour qu'il puisse écrire dans l'annuaire. Faite le sur le PDC et le BDC : [root@pc root]# /usr/local/samba/bin/smbpasswd -w mypassword Setting stored password for "cn=manager,dc=alex,dc=fr" in secrets.tdb Sur le BDC il faut importer le domain SID par cette commande [root@pc root]# /usr/local/samba/bin/smbpasswd -S -r srv2.alex.fr Smbldap-tools Pour que chaque machines MS de votre réseau puissent être ajoutées automatiquement lors de la jonction au domaine, vous pouvez utiliser les fichiers smbldap-tools (contrib d'idealx.org) Il faut installer les packages suivants : perl-ldap, perl-authen-sasl-xx et perl-convert-asn1 Copiez le contenu du répertoire /samba-3.0.0/exemples/ldap/smbldap-tools vers /usr/local/sbin/ lancez dans /usr/local/sbin/mkntpwd la commande make pour créer l'utilitaire mkntpwd [root@pc root]# cd /usr/local/sbin/ mkntpwd [root@pc mkntpwd]# make Autorisez l'exécution des fichiers perl selon votre choix [root@pc root]# chmod +x /usr/local/sbin/smbldap-useradd.pl ou en masse [root@pc root]# chmod +x /usr/local/sbin/smbldap-* Configurez le fichier smbldap_conf.pm (voici le mien) Faite un lien symbolique de /usr/local/sbin/*.pm vers /usr/lib/perl5/5.xx/ [root@pc root]# ln -s /usr/local/sbin/*.pm /usr/lib/perl5/5.xx/ (voir autres détails dans INSTALL) Si ca ne marchait pas du premier coup, ajoutez une workstation à la main dans ldap. Créez un fichier ws.ldif

il faut ajouter un $ a la fin du nom netbios de vos machines (le gidnumber est égale a 421 car c'est le n du group machines) dn: uid=ws1$,ou=people,dc=alex,dc=fr objectclass: top objectclass: inetorgperson objectclass: posixaccount cn: ws1$ sn: ws1$ uid: ws1$ uidnumber: 1000 gidnumber: 421 homedirectory: /dev/null loginshell: /bin/false description: Computer et ajouter cette machine dans Samba [root@pc root]# /usr/local/samba/bin/smbpasswd -a -m ws1$ Mappage des groups Samba-3.0.0 vous permet de réaliser un mappage entre les groups UNIX et les groups Windows. Vous avez le choix entre mapper des groups UNIX/Windows équivalents, comme par exemple adm avec Domain Admins ou sys avec Power Users,... ou bien de créer des groupes UNIX bidons qui serviront uniquement au mappage entre UNIX et Windows, comme par exemple domadmins pour Domain Admins ou powerusers avec Power Users,... Vous pouvez leurs attribuer des RIDs lors du mappage des groupes (pour respecter une équivalence avec Windows) ou laisser samba décider aléatoirement. Pour réaliser ce mappage vous devez créé des groups UNIX (extraction grace aux outils de migration ou à la main) puis taper ces commandes : [root@pc root]# /usr/local/samba/bin/net groupmap add rid=512 ntgroup="domain Admins" unixgroup=adm Successully added group Domain Admins to the mapping db Pour vérifier : [root@pc root]# /usr/local/samba/bin/net groupmap list Domain Admins (S-1-5-21-2080767239-2881072900-3568078770-512) -> adm Pour supprimer : [root@pc root]# /usr/local/samba/bin/net groupmap delete ntgroup="domain Admins" Sucessfully removed Domain Admins from the mapping db Un utilisateur (UID=0) pour rejoindre votre domaine Vous devez créer un utilisateur administratif qui autorisera les machines clientes à rejoindre votre domaine. Il pourra s'appeler n'importe comment (toto, jointdomain, admin...) tant qu'il aura un UID=0 (valable uniquement pour Samba 3.xx)

dans un fichier au format LDIF placer ceci : dn: uid=jointdomain,ou=people,dc=alex,dc=fr uid: jointdomain cn: jointdomain objectclass: account objectclass: posixaccount objectclass: top objectclass: shadowaccount shadowmax: 99999 shadowwarning: 7 loginshell: /bin/false uidnumber: 0 gidnumber: 0 homedirectory: /dev/null gecos: jointdomain Valider un utilisateur dans Samba Après avoir ajouté dans l'annuaire, créer son mot de passe avec Samba : [root@pc root]# /usr/local/samba/bin/smbpasswd -a jointdomain New SMB password: Retype new SMB password: Added user jointdomain. [root@pc root]# Vous n'avez plus qu'a créer vos utilisateurs en incrémentant leur numéro uid et normalement vos machines seront ajoutées des leur jonction au domaine. Source : http://www.mandrakesecure.net/en/docs.php#papers Document mis à jour : 26/12/03