Skip to content


HADOPI - Le Net en France : black-out

Créer un Controleur Principal de Domaine (Windows) avec SAMBA et un annuaire LDAP

Debian

Très largement inspiré de « Un article de L’admin Debian. L’admin Debian

Introduction :

La gestion des utilisateurs ainsi que leurs droits sur les partages réseaux peut devenir suffisamment complexe, pour générer des erreurs monumentales ! Provoquant l’apparition de trous de sécurités ayant pour origine le manque d’organisation et de réflexion sur l’impacte de l’évolution des droits !

On s’aperçoit vite avec le nombre d’utilisateur augmentant, que des groupes peuvent se former ayant des besoins communs. dans l’idéal un organigramme (peut) existe(r) et peut constituer une base de réflexion. Mais il faut qu’il soit complet et à jour !

De plus avec les outils informatiques, il est apparu un besoin de gérer les ordinateurs eux-mêmes avec leur droits, groupes, etc…

Et bien évidemment une interaction évidente entre utilisateurs et ordinateurs, mêlant gestion des un et des autres…

C’est ainsi que les annuaires électroniques sont apparus, ayant pour but de gérer tout cela.

!!! Attention !!!

La configuration d’un domaine Windows en interaction avec le nom de domaine LDAP et DNS, ce fait par l’intermédiaire du nom FQDN (DNS)

Ex : DNS = domain.local => LDAP dc=domain, dc=local => Le nom de domaine Windows (La Forêt) est alors : domain.local

C’est important lors de l’intégration de clients (types : NT4, 2000, 2003) Windows dans ce domain…

Prérequis et Conseils :

Ce tutoriel fonctionne sur les distributions suivantes:

  • Debian SID

  • Debian Sarge

  • Debian Etch

  • …….

Ce guide a été fait avec une Debian Etch. (personnellement), et depuis avec une Debian Lenny !

Afin que ce guide corresponde totalement à votre environnement, je vous conseille de modifier le niveau de priorité de Debconf. Sur la nouvelle debian Etch et sur Ubuntu le niveau de Debconf est à « Élevé ». Ce qui réduit sensiblement le nombre de questions qui vous sont posées lors de l’installation d’un paquet. On va donc changer le niveau à « Intermédiaire » voir à « basse » pour controler un maximum.

Pour cela tapez en root :

# dpkg-reconfigure debconf

Choisissez « Dialogue » puis « Intermédiaire » ou « basse »

Le contrôleur de domaine doit impérativement avoir une adresse IP statique, si vous changez d’adresse IP en cours de route vous risquez de ne plus pouvoir joindre le domaine.
Une autre astuce étant de faire des réservations DHCP…

Dans notre cas le serveur samba et le serveur OpenLDAP se trouvent sur le méme PC.

Installation du serveur OpenLDAP

Installation

Le paquet slapd contient la partie serveur d’openLDAP :

# apt-get install slapd db4.2-util ldap-utils

Debconf nous pose plusieurs questions :

  • Le nom du domaine : c’est celui de LDAP (Totalement diférent du domaine Samba):

Si vous mettez domaine.local vous aurez donc dc=domaine,dc=local (rappelez-vous en !!)

Car au nom FQDN: domaine.local correspondra le Workgroup: domaine.

Un peu comme le préconise Microsoft lors de la configuration d’un Active Directory.

http://e-novatic.fr/blog/index.php/post/2007/09/11/Bien-configurer-son-Active-Directory

http://www.laboratoire-microsoft.org/articles/win/startad/3/Default.asp

http://technet.microsoft.com/en-us/library/cc755059%28WS.10%29.aspx

Nom de votre organisation: représente la visibilité de votre annuaire ! Chez moi par exemple dom-sln.local.

domaine.local

  • Mot de passe de l’administrateur :

C’est ce mot de passe que vous utiliserez pour vous connecter, rappelez vous en !!

  • Module de base de données à utiliser :

BDB

  • Faut-il supprimer la base de données à la purge du paquet ?

NON

  • Faut-il déplacer l’ancienne base de données ?

NON

  • Faut-il autoriser le protocole LDAPv2 ?

NON

Schéma Samba

LDAP fonctionne avec des schémas, par défaut 4 schémas sont déjé présents, pour utiliser samba avec LDAP il faut le schéma approprié. Celui se trouve dans le paquet SAMBA-DOC (14mo !!)

  • Installation:
# apt-get install samba-doc
  • On copie le schéma que l’on place dans le répertoire dans le répertoire des schémas de LDAP:
# gunzip -c /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema

Modification du fichier slapd.conf

Il reste maintenant à éditer le fichier de configuration du serveur OpenLDAP

nano /etc/ldap/slapd.conf
  • On déclare le schéma de samba
include       /etc/ldap/schema/samba.schema

Juste en dessous des autres déclarations;

Enfin on relance le serveur OpenLDAP:

# /etc/init.d/slapd restart

Voici mon fichier de configuation de slapd.conf

Installation du serveur SAMBA

Installation

On installe le paquet samba (le serveur) et des outils pour le client:

# apt-get install samba smbclient smbfs

Répondez à debconf en laissant tout par défaut, de toute façon on fera notre propre fichier de configuration.

Modification du fichier smb.conf

Le fichier de configuration du serveur SAMBA est : /etc/samba/smb.conf
Supprimez tout le contenu et copiez toutes ces lignes:

# Samba config file created using SWAT
# from 127.0.1.1 (127.0.1.1)
# Date: 2008/06/15 07:55:18

[global]
        display charset = ISO8859-1
        unix charset = ISO8859-1
        dos charset = 850

        workgroup = DOMAIN
        realm = DOMAIN.LOCAL
        netbios name = debian
        server string = Domain DOMAIN PDC

        security = DOMAIN
        passdb backend = ldapsam:ldap://127.0.0.1/
        passwd program = /usr/bin/smbpasswd %u
        username map = /etc/samba/smbusers
        unix password sync = Yes

        log level = 3
        syslog = 3
        log file = /var/log/samba/log.%m
        max log size = 1000

        announce version = 5.0
        name resolve order = wins lmhosts bcast
        server signing = Yes
        keepalive = 5
        socket options = TCP_NODELAY SO_SNDBUF=819200 SO_RCVBUF=819200

        ldap admin dn = cn=admin,dc=DOMAIN,dc=local
        ldap delete dn = Yes
        ldap group suffix = ou=Groups
        ldap idmap suffix = ou=Idmap
        ldap machine suffix = ou=Computers
        ldap suffix = dc=DOMAIN,dc=local
        ldap ssl = no
        ldap user suffix = ou=Users
        idmap backend = dc=DOMAIN,dc=local
        idmap uid = 500-10000000
        idmap gid = 500-10000000
        add user script = /usr/sbin/smbldap-useradd -a -m -G "Domain Users" "%u"
        add group script = /usr/sbin/smbldap-groupadd -p "%g"
        add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
        delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
        set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
        add machine script = /usr/sbin/smbldap-useradd -w "%u"

        logon script = %u.bat
        logon path = %Lprofiles%u
        logon drive = H:
        logon home = %Lhomes%u
        domain logons = Yes

        os level = 95
        preferred master = Yes
        domain master = Yes

        eventlog list = Security, Application, Syslog, Apache
        message command = /bin/sh -c '/usr/bin/linpopup
        panic action = /usr/share/samba/panic-action %d

        winbind enum users = yes
        winbind enum groups = yes

        hide unreadable = Yes
        #interfaces = 192.168. 10.0 127.0.0.1

        printcap name = cups
        printing = cups

[homes]
        comment = Home Directories
        path = /home/%u
        read only = No
        locking = No
        share modes = No

[netlogon]
        comment = Network Logon Service
        path = /home/netlogon
        locking = No
        share modes = No

[profiles]
        comment = User Profiles
        path = /home/profiles
        read only = No
        create mask = 0660
        directory mask = 0770
        profile acls = Yes
        browseable = No
        locking = No
        root preexec = mkdir -m 770 /home/"%U" && mkdir -m 770 /home/"%U"/test && mkdir -m 770 /home/"%U"/bin && mkdir -m 770 /home/"%U"/Desktop && mkdir -m 770 /home/"%U"/"Mes Documents"
        root postexec = chown -R "%u:Domain Users" /home/"%u"/

[profiles.V2]
        copy = profiles

# Defining printers
####################################################
[print$]
        path = /var/lib/samba/drivers/
        guest ok = No
        browseable = Yes
        read only = Yes
        valid users = @"Print Operators"
        write list = @"Print Operators"
        create mask = 0664
        directory mask = 0775

[printers]
        comment = All Printers
        path = /var/spool/samba
        available = yes
        printable = Yes
        browseable = Yes
        locking = No
        share modes = Yes
        use client driver = no

[pdf-documents]
        comment = Converted PDF Documents
        path = /home/pdf-documents
        read only = No
        available = yes
        browseable = yes
        guest ok = yes
        public = yes
        writable = yes
        valid users = @"Domain Users"

[pdf-printer]
        comment = PDF Printer Service
        path = /tmp
        guest ok = Yes
        printable = Yes
        use client driver = Yes
        use client driver = yes
        printing = bsd
        print command = /usr/bin/gsambadpdf %s %u
        lpq command =
        lprm command =
        valid users = @"Domain Users"

[Drivers]
        comment = Drivers
        path = /var/lib/samba/printers/
        read only = Yes
        guest ok = Yes
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

# Définition de mes répertoires
# Tous les PATH doivent exister
# et doivent être associés à leurs groupes respectifs
#####################################################
[GPO]
        comment = Strategies de groupe
        path = /home/gpo
        available = yes
        invalid users = root
        valid users = @"Domain Admins"
        browseable = No
        root preexec = /etc/samba/script/createGPO --win_user=%U --win_group=%G --ip=%I --os_type=%a --win_host=%m --share=/home/gpo

[Partage]
        comment = Partage
        path = /home/lolo/Partage
        read only = No
        guest ok = Yes
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Ma Musique]
        comment = Ma Musique
        path = /home/lolo/Ma Musique
        read only = No
        guest ok = Yes
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Account Operators]
        comment = Account Operators
        path = /home/groups/Account Operators
        read only = No
        locking = No
        share modes = No
        valid users = @"Account Operators"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Administrators]
        comment = Administrators
        path = /home/groups/Administrators
        read only = No
        locking = No
        share modes = No
        valid users = @"Administrators"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Domain Admins]
        comment = Domain Admins
        path = /home/groups/Domain Admins
        read only = No
        locking = No
        share modes = No
        valid users = @"Domain Admins"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Domain Users]
        comment = Domain Users
        path = /home/groups/Domain Users
        read only = No
        locking = No
        share modes = No
        valid users = @"Domain Users"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Domain Computers]
        comment = Domain Computers
        path = /home/groups/Domain Computers
        read only = No
        locking = No
        share modes = No
        valid users = @"Domain Computers"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Domain Guests]
        comment = Domain Guests
        path = /home/groups/Domain Guests
        read only = No
        locking = No
        share modes = No
        valid users = lolo
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Print Operators]
        comment = Print Operators
        path = /home/groups/Print Operators
        read only = No
        locking = No
        share modes = No
        valid users = @"Print Operators"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Backup Operators]
        comment = Backup Operators
        path = /home/groups/Backup Operators
        read only = No
        locking = No
        share modes = No
        valid users = @"Backup Operators"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

[Replicators]
        comment = Replicators
        path = /home/groups/Replicators
        read only = No
        locking = No
        share modes = No
        valid users = @"Replicators"
        vfs objects =  recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:touch = yes
        recycle:exclude = ?~$*,~$*,*.tmp,index*.pl,index*.htm*,*.temp,*.TMP
        recycle:exclude_dir=  /tmp,/temp,/cache
        recycle:repository = .recycle/.recycle.%u
        recycle:noversions = *.doc,*.xls,*.ppt

Vous devez changer au moins les lignes:

  • workgroup

C’est le nom de votre domaine, celui que vous allez donner à windows

  • netbios name

C’est le nom votre machine (résultat de la commande ‘hostname’).

  • ldap suffix

dc=…..,dc=……

  • ldap admin dn

cn=admin,dc=……,dc=…..

Et éventuellement:

  • hosts allow

Voir mon fichier smb.html

Création des dossiers partagés

Comme vous avez pu le voir dans le fichier de configuration de samba, on partage plusieurs répertoires.

  • /home/netlogon

Contient les éventuels scripts qui sont éxécutés à chaque connexion d’un utilisateur (.bat)

  • /home/export/profile

Contient les profils windows de chaque utilisateur, ils sont créés automatiquement pour les nouveaux

  • /home/partage

Partage commun à tous les utilisateurs du domaine

  • /home/lenomdelutilisateur

Les répertoires personnels linux sont aussi partagés

Création des répertoires:

# mkdir -p /home/netlogon
# mkdir -p /home/profiles

On donne les droits aux répertoires:

# chmod a+w /home/profiles

Un fichier important est le fichier : /etc/samba/smbusers (Merci à aymen de m’avoir mis un commentaire, montrant que je n’en parlait pas :-) )

# Unix_name = SMB_Name1 SMB_Name2 ...
root = administrator administrateur
nobody = guest smbguest pcguest


Les scripts smbldap-tools

Installation

Etch et SID

Le paquet smbldap-tools contient plusieurs scripts facilitant l’administration

# apt-get install smbldap-tools

Modification du fichier smbldap_bind.conf

Créez le fichier /etc/smbldap-tools/smbldap_bind.conf et copiez ceci:

slaveDN="cn=admin,dc=domaine,dc=local"
slavePw=votremotdepasseenclair
masterDN="cn=admin,dc=domaine,dc=local"
masterPw=votremotdepasseenclair
  • Adaptez le comme d’habitude à votre configuration
  • Il y a ici un probléme de sécurité car votre mot de passe est en clair, changez les droits de ce fichier pour que seul root puisse le lire
# chmod 600 /etc/smbldap-tools/smbldap_bind.conf

Modification du fichier smbldap.conf

Éditez ou créez le fichier /etc/smbldap-tools/smbldap.conf et copiez ceci:

##############################################################################
#
# General Configuration
#
##############################################################################

# Put your own SID. To obtain this number do: "net getlocalsid".
# If not defined, parameter is taking from "net getlocalsid" return
SID="S-1-5-21-2955114329-942759136-1117618233"

# Domain name the Samba server is in charged.
# If not defined, parameter is taking from smb.conf configuration file
# Ex: sambaDomain="DOMAIN"
sambaDomain="DOMAIN"

##############################################################################
#
# LDAP Configuration
#
##############################################################################

# Notes: to use to dual ldap servers backend for Samba, you must patch
# Samba with the dual-head patch from IDEALX. If not using this patch
# just use the same server for slaveLDAP and masterLDAP.
# Those two servers declarations can also be used when you have
# . one master LDAP server where all writing operations must be done
# . one slave LDAP server where all reading operations must be done
#   (typically a replication directory)

# Slave LDAP server
# Ex: slaveLDAP=127.0.0.1
# If not defined, parameter is set to "127.0.0.1"
slaveLDAP="127.0.0.1"

# Slave LDAP port
# If not defined, parameter is set to "389"
slavePort="389"

# Master LDAP server: needed for write operations
# Ex: masterLDAP=127.0.0.1
# If not defined, parameter is set to "127.0.0.1"
masterLDAP="127.0.0.1"

# Master LDAP port
# If not defined, parameter is set to "389"
masterPort="389"

# Use TLS for LDAP
# If set to 1, this option will use start_tls for connection
# (you should also used the port 389)
# If not defined, parameter is set to "1"
ldapTLS="0"

# How to verify the server's certificate (none, optional or require)
# see "man Net::LDAP" in start_tls section for more details
verify="require"

# CA certificate
# see "man Net::LDAP" in start_tls section for more details
#cafile="/etc/opt/IDEALX/smbldap-tools/ca.pem"

# certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
#clientcert="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.pem"

# key certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
#clientkey="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.key"

# LDAP Suffix
# Ex: suffix=dc=DOMAIN,dc=local
suffix="dc=DOMAIN,dc=local"

# Where are stored Users
# Ex: usersdn="ou=Users,dc=DOMAIN,dc=local"
# Warning: if 'suffix' is not set here, you must set the full dn for usersdn
usersdn="ou=Users,${suffix}"

# Where are stored Computers
# Ex: computersdn="ou=Computers,dc=DOMAIN,dc=local"
# Warning: if 'suffix' is not set here, you must set the full dn for computersdn
computersdn="ou=Computers,${suffix}"

# Where are stored Groups
# Ex: groupsdn="ou=Groups,dc=DOMAIN,dc=local"
# Warning: if 'suffix' is not set here, you must set the full dn for groupsdn
groupsdn="ou=Groups,${suffix}"

# Where are stored Idmap entries (used if samba is a domain member server)
# Ex: groupsdn="ou=Idmap,dc=DOMAIN,dc=local"
# Warning: if 'suffix' is not set here, you must set the full dn for idmapdn
idmapdn="ou=Idmap,${suffix}"

# Where to store next uidNumber and gidNumber available for new users and groups
# If not defined, entries are stored in sambaDomainName object.
# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
sambaUnixIdPooldn="sambaDomainName=DOMAIN,${suffix}"

# Default scope Used
scope="sub"

# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
hash_encrypt="SSHA"

# if hash_encrypt is set to CRYPT, you may set a salt format.
# default is "%s", but many systems will generate MD5 hashed
# passwords if you use "$1$%.8s". This parameter is optional!
crypt_salt_format="%s"

##############################################################################
#
# Unix Accounts Configuration
#
##############################################################################

# Login defs
# Default Login Shell
# Ex: userLoginShell="/bin/bash"
userLoginShell="/bin/bash"

# Home directory
# Ex: userHome="/home/%U"
userHome="/home/%U"

# Default mode used for user homeDirectory
userHomeDirectoryMode="700"

# Gecos
userGecos="System User"

# Default User (POSIX and Samba) GID
defaultUserGid="513"

# Default Computer (Samba) GID
defaultComputerGid="515"

# Skel dir
skeletonDir="/etc/skel"

# Default password validation time (time in days) Comment the next line if
# you don't want password to be enable for defaultMaxPasswordAge days (be
# careful to the sambaPwdMustChange attribute's value)
defaultMaxPasswordAge="45"

##############################################################################
#
# SAMBA Configuration
#
##############################################################################

# The UNC path to home drives location (%U username substitution)
# Just set it to a null string if you want to use the smb.conf 'logon home'
# directive and/or disable roaming profiles
# Ex: userSmbHome="PDC-SMB3%U"
userSmbHome="debian%U"

# The UNC path to profiles locations (%U username substitution)
# Just set it to a null string if you want to use the smb.conf 'logon path'
# directive and/or disable roaming profiles
# Ex: userProfile="PDC-SMB3profiles%U"
userProfile="debianprofiles%U"

# The default Home Drive Letter mapping
# (will be automatically mapped at logon time if home directory exist)
# Ex: userHomeDrive="H:"
userHomeDrive="H:"

# The default user netlogon script name (%U username substitution)
# if not used, will be automatically username.cmd
# make sure script file is edited under dos
# Ex: userScript="startup.cmd" # make sure script file is edited under dos
userScript="%U.bat"

# Domain appended to the users "mail"-attribute
# when smbldap-useradd -M is used
# Ex: mailDomain="DOMAIN.local"
mailDomain="DOMAIN.local"

##############################################################################
#
# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)
#
##############################################################################

# Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but
# prefer Crypt::SmbHash library
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"

# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm)
# but prefer Crypt:: libraries
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"

# comment out the following line to get rid of the default banner
# no_banner="1"

Vous devez changer:

  • suffix= »dc=………,dc=…… »

On commence tout d’abord par stopper samba

# /etc/init.d/samba stop

Puis il faut créer le fichier /var/lib/samba/secrets.tdb: On fournit à samba le mot de passe du compte administrateur qui effectue les requétes dans l’annuaire LDAP.

# smbpasswd -w votremotpasseenclaire

On relance ensuite le serveur samba:

# /etc/init.d/samba start

Le démarrage du service doit etre quasi immédia, s’il dure plusiers secondes c’est qu’il y a une erreur

net getlocalsid

Vérifiez que tout c’est bien passé:

# net getlocalsid
SID for doamin is : S-1-5-21-344654654654654654654654


La commande net getlocalsid ne doit retourner aucune erreur ni warning !

Vous pouvez donc changer la valeur dans /etc/smbldap-tools/smbldap.conf

smbldap-populate

On va pouvoir créer l’archictecture de notre base LDAP :

# smbldap-populate

Vous devez saisir deux fois votre mot de passe root si tout se passe bien !

Cette commande créée:

  • Les différentes OU (Organisation Unit) qui contiendront vos Machines, Users et Groups

  • Deux UID : root et nobody qui seront dans OU = Users

  • Plusieurs CN (Common Name): Les groupes qui seront dans OU = Groups

Copiez quelque part la derniére ligne

sambaDomainName=domaine,dc=domaine,dc=local

domaine est le nom workroup que vous avez renseigné dans smb.conf, cette ligne servira à configurer l’interface LAM (si vous le souhaitez), copiez la quelque part.

Faites un test, ajoutez un utilisateur:

# smbldap-useradd -a -c "Pierre Dupont" -m -P pdupont
  • -a : désigne un utilisateur

  • -c : Information Gecos : Le nom entier

  • -m : Créé le répertoire personnel

  • -P : création du mot de passe

Lisez l’aide:

# smbldap-useradd -?

Pour étre certain que l’utilisateur root a été correctement créé:

# smbldap-usershow root

Cette commande vous retourne toutes les informations de l’utilisateur root de votre annuaire.

Authentification Unix

Un système Linux peut aller chercher dans différents endroits pour authentifier des utilisateurs. Par défaut il s’agit du fichier /etc/passwd Cependant on peut lui en ajouter d’autres sources de données. Or sur la machine elle même le but n’étant pas d’authentifier les utilisateurs locaux de la machine par LDAP, cette partie n’est pas nécessaire. Si toute fois vous désirez l’implémenter veuillez vous reporter à : http://damstux.free.fr/wiki/index.php?title=PDC_Samba_LDAP#Authentification_Unix : Authentification Unix

Un système Linux peut aller chercher dans différents endroits pour authentifier des utilisateurs. Par défaut il s’agit du fichier /etc/passwd Cependant on peut lui en ajouter d’autres sources de données. On va donc lui indiquer notre annuaire LDAP

NSS (Name Service Switch)

On ajoute un module à NSS qui lui permet d’interroger notre annuaire LDAP

# apt-get install libnss-ldap

Debconf nous pose plusieurs questions:

  • Adresse du serveur LDAP : 127.0.0.1
  • Nom distinctif (DN) de la base de recherche: dc=…….,dc=…..
  • Version de LDAP: 3
  • La base de données demande-t-elle une identification ? NON
  • Le fichier de configuration doit-il étre lisible et modifiable uniquement par son propriétaire ? NON

Explication : sinon seul root pourra interroger l’annuaire. De toute façon, il n’y a pas de mot de passe dans ce fichier

Vérifiez que dans /etc/libnss-ldap.conf vos paramétres sont corrects.

Vous devez avoir:

host 127.0.0.1
base dc=domaine,dc=local
uri ldap://127.0.0.1/

Une nouvelle version de libnss-ldap exige une modification de son fichier de configuration: /etc/libnss-ldap.conf. Il faudra peut-étre aussi modifier une ligne rootbinddn cn=admin,dc=domaine,dc=local en plus de base et uri

Par défaut, si la connexion au serveur LDAP échoue, celle-ci est automatiquement relancée, le temps écoulé avant une nouvelle connexion est augmenté à chaque fois, si bien que votre poste client n’arrive pas à booter (obligation de booter sur un live CD et de monter la partition systéme pour revenir à une configuration correcte).

Il faut donc modifier le mode de connexion: Par défaut il est à HARD, on décommente la ligne #bind_policy hard et l’on remplace hard par soft Ainsi, en cas d’erreur, le poste démarre quand méme.

Vous devez donc avoir dans /etc/libnss-ldap.conf

# Reconnect policy: 
#  hard_open: reconnect to DSA with exponential backoff if 
#             opening connection failed
#  hard_init: reconnect to DSA with exponential backoff if
#             initializing connection failed
#  hard:      alias for hard_open
#  soft:      return immediately on server failure
bind_policy soft

Il est possible d’affiner considérablement la configuration, mais seule la directive base est à changer pour une configuration classique

PAM

De même, on installe le module LDAP pour PAM:

# apt-get install libpam-ldap
  • Hôte du serveur LDAP : 127.0.0.1
  • Nom distinctif (« distinguished name») de la base de recherche : dc=……..,dc=……
  • Version de LDAP: 3
  • Faut-il créer une base de données locale pour l’administrateur ? NON
  • La base de données requiert-elle une connexion authentifiée ? NON
  • Méthode de chiffrement pour les changements de mots de passe : crypt

Vérifiez que le fichier /etc/pam_ldap.conf contient au moins:

host 127.0.0.1
base dc=domaine,dc=local
uri ldap://127.0.0.1/

Authentification grâce à LDAP

Il suffit d’indiquer maintenant au système d’aller interroger notre annuaire LDAP

nano /etc/nsswitch.conf

Il vous suffit de rajouter après compat la directive ldap pour

  • passwd
  • group
  • shadow

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

ATTENTION !! En manipulant ce fichier si vous faites une erreur, vous ne pourrez plus vous connecter avec aucun de vos utilisateurs (même root) !!

On teste

Vous avez créé un utilisateur pdupont dans votre annuaire LDAP:

# getent passwd
Doit vous retourner quelque chose comme:
pdupont:x:1507:513:Pierre Dupont:/home/pdupont:/bin/bash

Intégration d’un client Windows (XP Pro, Serveur 2003/2008)

Une fois que vous avez terminé toute l’installation et la configuration de votre serveur Linux, penser à relancer les deux services:

# /etc/init.d/samba stop
# /etc/init.d/slapd restart
# /etc/init.d/samba start

Enfin, vous pouvez tester sous Windows.

  • Click droit sur Poste de Travail, Propriétés.

  • Onglet Nom de l’ordinateur

  • Click sur le bouton Modifier…

  • Membre de: Choisissez Domaine : Saisissez le nom de la directive workgroup que vous avez renseigné dans smb.conf

  • OK

  • On vous demande un login: root et votre mot de passe : celui de root

  • Si tout va bien le message  » Bienvenue dans le domaine …. » s’affiche.

  • Redémarrez la machine

  • Choisissez le domaine que vous avez créé et connectez vous avec root ou toto

Votre profile Windows XP/2003 est stocké sur le serveur Linux dans /home/profiles/ chaque utilisateur possède son répertoire $LOGIN.

Votre profile Windows 2008 Serveur/Vista est stocké sur le serveur Linux dans /home/profiles/ chaque utilisateur possède son répertoire $LOGIN.V2. V2 pour différencier le profile avant et après Vista. Sachant que Vista cherche un partage profiles.v2, c’est pourquoi nous avons créé un :

[profiles.V2] copy = profiles

Ils contient les éléments de votre bureau, le répertoire « Mes Documents », les fichiers de configuration des applications (Firefox, Thunderbird….).

ATTENTION : Si vous avez des scripts de logon, pensez à ajouter vos comptes aux groupes voulus : smbldap-groupmod -m $USER « $GROUP1 , $GROUP2″

Intégration d’un client Linux

Si vous avez des clients Linux avec les quels vous ne désirez pas créer de compte en local suivez la méthode dans 5 Authentification Unix , puis http://www.e-glop.net/main/GDM-LDAP-Ubuntu.

Car GDM ou KDM utilisant /etc/pam.d/ pour chercher les logins il advient qu’à la connexion de session :

  • Login Failed !

La solution se situe dans la modification des pam.d :

Configuration

PAM (authentification)

Pour faire fonctionner GDM/KDM, voici comment paramétrer l’authentification PAM :

$ cat /etc/pam.d/common-account
account sufficient      pam_ldap.so
account required        pam_unix.so

$ cat /etc/pam.d/common-auth
auth    sufficient      pam_ldap.so
auth    required        pam_unix.so     use_first_pass nullok_secure

$ cat /etc/pam.d/common-password
password   sufficient pam_ldap.so       md5
password   required   pam_unix.so       nullok obscure min=4 max=8 md5

$ cat /etc/pam.d/common-session
session required        pam_mkhomedir.so skel=/etc/skel
session sufficient      pam_ldap.so
session required        pam_unix.so

$ cat /etc/pam.d/kdm
session required        pam_mkhomedir.so skel=/etc/skel
auth       required     pam_nologin.so
auth       required     pam_env.so readenv=1
auth       required     pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
session    required     pam_limits.so
@include common-account
@include common-password
@include common-session

$ cat /etc/pam.d/login
# A mettre au tout début du fichier
session required        pam_mkhomedir.so skel=/etc/skel

session required pam_mkhomedir.so skel=/etc/skel :

Permet de créer le répertoire personnel /home/$USER sur le client Linux. Dans smb.conf est ajouté dans profiles :

root preexec = mkdir -m 770 /home/"%U" && mkdir -m 770 /home/"%U"/test && mkdir -m 770 /home/"%U"/bin && mkdir -m 770 /home/"%U"/Desktop && mkdir -m 770 /home/"%U"/"Mes Documents"
root postexec = chown -R "%u:Domain Users" /home/"%u"/

Interfaces d’administration

smbldap-tools

Le paquet smbldap-tools contient plusieurs scripts pour gérer les utilisateurs, groupes et machines dans l’annuaire LDAP.

smbldap-groupadd   smbldap-groupshow  smbldap-useradd    smbldap-usermod
smbldap-groupdel   smbldap-passwd     smbldap-userdel    smbldap-usershow
smbldap-groupmod   smbldap-populate   smbldap-userinfo

Vous pouvez afficher toutes options possibles en faisant:

smbldap-… -?

Conclusion

Vous venez d’installer et de configurer un annuaire LDAP pour le domaine : DOMAIN.LOCAL, ainsi que les partages réseaux avec SAMBA pour le domaine (AD) : DOMAIN.LOCAL.

Si vous suivez à la lettre les instructions, moins d’une heure suffit pour faire tout cela !

- Fin -

Posted in Debian, Linux, Technique. Tagged with , , , , .

54 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Alex said

    Merci pour ce super tuto!! je test ça dans la semaine et te tient au courant du bon fonctionnement!!

  2. badboudha said

    Merci mon lolo toujours aussi impressionnant, je m’y remet la semaine prochaine, je pense opter pour la debian………comme d’hab ;) et en plus tu sais que cet Ldap me tient à coeur.
    Et si je rame trop j’t chope sur msn ^^.
    ET en plus c’est bientôt Novell (noël) .désolé je sors ……….

  3. admin said

    A+
    ;)

  4. Christophe said

    Bonjour Laurent !

    Merci beaucoup pour cet article qui m’a énormément aidé pour monter un contrôleur de domaine pour mon travail sous Debian Lenny !

    Juste une petite chose sur laquelle j’ai bloqué : la partie sambaUnixIdPooldn= »sambaDomainName=DOMAIN,${suffix} » du fichier smbldap.conf doit être également modifiée selon la configuration de chacun. Ca me paraît bête, maintenant que je le sais, hehe :o )

    Merci encore pour cet excellent article !

    Christophe

  5. admin said

    Effectivement, je vais relire mon tuto pour voir si ce n’est pas assez clair… Quand on est dedans on a, à tord, l’impression que oui ! :)

    Et oui après relecture DOMAIN ne ressort pas !

  6. Christophe said

    Hello,

    Une autre petite chose que j’ai dû modifier pour vérifier les données utilisateur :

    la commande « getenv passwd » retourne une erreur. Il faut entrer « getent passwd ».

    Merci :o )

    Christophe

  7. admin said

    Et oui !
    Erreur de frappe… :)

  8. Christophe said

    Bonsoir Laurent,

    J’essaie en vain de connecter des machines Ubuntu au LDAP. Dans le auth.log des clients Ubuntu (8.10 ou 9.04), l’erreur « nss_ldap » Can’t contact LDAP server » ne cesse d’apparaître… J’ai suivi d’autres tuto pour remédier à ce problème (comme celui-ci : https://help.ubuntu.com/community/LDAPClientAuthentication ), mais rien n’y fait…

    As-tu déjà rencontré ce type de problème auparavant ?
    Merci beaucoup :)

    Christophe

  9. admin said

    Non, mais vérifies bien que le LDAP soit en route et fonctionnel.
    # ps -ef | grep slapd
    openldap 4483 1 0 Apr01 ? 00:00:02 /usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf

    Puis voir si il écoute bien sur le bon port : 389
    # lsof | grep slapd | grep LISTEN
    slapd 4483 openldap 8u IPv6 8830 TCP *:ldap (LISTEN)
    slapd 4483 openldap 9u IPv4 8831 TCP *:ldap (LISTEN)

  10. Yannick EMANDEU said

    Bonjour et merci pour ce tuto. J’ai suivi à la lettre les instructions dans ce tuto et tout fonctionne. Le problème que j’ai c’est que dans le réseau, il se crée beaucoup de répertoires partagés (ex Domain backup, replicators, etc). Mais quand je double-clic dessus, on me demande de m’identifier et j’entre l’identité du root mais ça ne passe pas. Comment y acceder?

  11. admin said

    Bonjour,

    Si tu as fait un copié/collé de smb.conf, il est évident que des PATH ont été déclarés alors qu’ils n’existent pas sur ta machine. D’où plantage !
    Ensuite il est clair qu’il faille associer des droits au PATH.
    Exemple le groupe=Backup Operators doit être associé à /home/groups/Backup Operators.
    Puis les utilisateurs doivent appartenir à tel ou tel groupes !

    etc…

  12. aymen said

    excellent tutoriel merci
    mais un petit probleme : je suivi tout le tuto sans erreur mais je pas pu connecter une machine cliente xp: je logue avec root mais sans succes

  13. admin said

    Je vois, dans mon tuto, j’ai juste oublié de parler du fichier :
    /etc/samba/smbusers
    # Unix_name = SMB_Name1 SMB_Name2 …
    root = administrator administrateur
    nobody = guest smbguest pcguest

    Qui permet de faire la relation entre l’admin Woinwoin « Administrateur » et celui de Nunux « root »…

    Merci à toi

  14. aymen said

    je suis actuellement en stage et besoin de mettre en place une stratégie de sécurité locale pour le controleur de domaine samba ldap et je suis un peu perdu.
    a tu une idée sur ce sujet?
    merci d’avance pour ton aide.

  15. admin said

    Malheureusement, les stratégies ne sont pas au programme de samba 3.x, mais avec un Samba 4.x probablement que les GPO seront là !

  16. asma said

    bonjour
    Merci beaucoup pour cet article qui m’a énormément aidé pour mon travail sous Debian
    mais le problème que j’ai rencontré est dés le début malheuresement lorseque je tape la commende d’installation de ldap il m’affich impossible de trouver le paquet sldap
    je vous en pris j’attends vos conseille et merci beaucoup d’avance

  17. asma said

    merci j’ai résoud mon problème!!

  18. asma said

    bonjour
    merci pour cet article il est clair et bien expliquer mais juste j’ai rencontré un problème j’ai pas bien compri quesque je doit écrir dans le fichier /etc/samba/smbusers si’il y avait un exemple merci d’avance pour votre aide

  19. asma said

    bonjour
    j’ai un autre problème
    dans le fichier /etc/smbldap-tools/smbldap_bind.conf quesqu’on met dans slaveDN= »cn=admin,dc= ????,dc=local »
    slavePw=votremotdepasseenclair
    masterDN= »cn=admin,dc= ????,dc=local »
    masterPw=votremotdepasseenclair
    et quesque voules vous dire par slave et master ici master c’est le serveur samba et slave ldap ?? j’ai pas une idée franchement
    je vous remerci encore énormément

  20. admin said

    Comme je l’indique dans le tutoriel :
    Modification du fichier smbldap_bind.conf

    Créez le fichier /etc/smbldap-tools/smbldap_bind.conf et copiez ceci:

    slaveDN= »cn=admin,dc=domaine,dc=local »
    slavePw=votremotdepasseenclair
    masterDN= »cn=admin,dc=domaine,dc=local »
    masterPw=votremotdepasseenclair

    Slave ou master sont les mêmes dans le cas où il n’y a pas de ldap maitre et un autre esclave !
    Aussi simplement ! :)

  21. Bonjour Laurent,

    D’abord je tenais à te remercier pour ce tuto clair et efficace… je n’ai pas eu de problème particulier à le suivre jusqu’au fameux passage « Intégration d’un client Windows »… là ça coince et surtout je ne sais pas trop où regarder pour avoir des infos sur le pourquoi ça ne passe pas.

    contexte :
    depuis une machine qqconque unix quand je fais un :
    smbclient -L \\ -U root
    ou
    smbclient -L \\ -U test0
    aucun problème ça fonctionne (test0 étant bien un compte créé comme dans le tuto qui est dans ldap)

    Pour le client windows (XP dans mon cas) voyant que ca ne passait pas j’ai essayé de compiler qqinfos sur le net :
    - j’ai créé une entrée dans ldap dans Computers correspondant à $ : fail
    - j’ai changé les clés suivantes de la base de registre :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters « RequireSignOrSeal »=dword:00000000
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System « CompatibleRUPSecurity »=dword:00000001
    mais toujours le même message d’erreur : « échec d’ouverture de session : nom d’utilisateur inconnu ou mot de passe incorrect »

    J’ai comme l’impression que le soucis vient de la station windows… mais je n’ai pas vraiment d’info dans les logs au niveau de mon controleur qui pourrait m’orienter
    Bref je te cache pas que je suis un peu perdu si tu as une piste je suis preneur :)

    c’est dommage je sens qu’il reste rien :)

    merci d’avance !
    Erwan

  22. dardi said

    salut moi aussi j’ai le meme problème “échec d’ouverture de session : nom d’utilisateur inconnu ou mot de passe incorrect”

  23. admin said

    Et dans les journaux windows ? Qu’est-ce qu’il y est dit ?

  24. dardi said

    les journaux windows ne signale rien concernant cela
    je sais plus koi faire, j’ai tout testé mais pourtant je réussi à me connecter depui un xp au partage samba et ainsiqu’a monter des lesteur réseau

    besoin d’aide please

  25. admin said

    Est-ce un windows officiel ou d’un autre type (coccinelle,etc…) ?

  26. dardi said

    il s’agit d’un windows xp pro sp2
    c’est la vrai galere. y a t il des clés de régistre à modifier?

  27. dardi said

    peut etre est ce important, mais ce win xp pro sp2 est un portable connecté par cable au réseau

  28. admin said

    Regardes dans les journaux du Linux, et cherches bien sous le woinwoin, il y a des logs…

  29. dardi said

    bonne nouvelle j’ai pu réparer le probleme. y avait d’autre serveur de fichier qui répondaient au meme que j’ai renseigné dans la zone Workgroup de mon smb.conf . je l’ai su en exécutant la commande nmblookup -n qui m’a renvoyer 5 adresses ip différentes.
    pour résoudre le problème j’ai juste augmenté l’os level que j’avais mis au départ à 65 à 255 (qui est le max)
    refait le test parm
    redemarer samba
    puis tester à nouveau l’ajout de l’ordi au domaine et ça marche

    mainetanant j’aimerais savoir comment joindre mon post linux sur mon domaine afin de gérer mes user linux au niveau du controleur

  30. admin said

    « j’aimerais savoir comment joindre mon post linux sur mon domaine afin de gérer mes user linux au niveau du controleur »
    Là c’est une autre histoire : http://www.cnrs.fr/aquitaine-limousin/spip.php?article756
    par exemple…
    :)

  31. dardi said

    bonsoir , j’ai suivi un tuto sur l’authentification ldap des postes unix.
    j’ai modifier les fichiers à modifier, installé cequ’il y avait à installer. je me connecte avec un quelconque utilisateur sur le domaine en ligne de commande. mais lorsque je redemarre la machine et que je me connecte avec un utilisateur du domaine en mode graphique sur mon poste linux, j’ai l’erreur suivante: Il y a un problème avec le serveur de configuration (/usr/lib/libgconf2 -4/gconf-sanity-check-2 a quitté avec l’état 256)
    - impossible de créer le repertoire de l’utilisateur
    et par la suite le bureau apparait mais il vide . j’ouvre une console et je fais pwd et là je constate que je suis sur la racine.

    le poste linux en question est un ubuntu
    comment faire? pour le résoudre?

  32. majdi said

    salut, merci bk pour la tuto
    moi je me plante au niveau smbldap-populate :
    serveur1:~# smbldap-populate
    Populating LDAP directory for domain majdi (S-1-5-21-438697764-3942706059-3453893680)
    (using builtin directory structure)

    entry dc=majdi,dc=lan already exist.
    entry ou=Users,dc=majdi,dc=lan already exist.
    entry ou=Groups,dc=majdi,dc=lan already exist.
    entry ou=Computers,dc=majdi,dc=lan already exist.
    entry ou=Idmap,dc=majdi,dc=lan already exist.
    adding new entry: uid=root,ou=Users,dc=majdi,dc=lan
    failed to add entry: objectClass: value #4 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 58.
    adding new entry: uid=nobody,ou=Users,dc=majdi,dc=lan
    failed to add entry: objectClass: value #4 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 89.
    adding new entry: cn=Domain Admins,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 101.
    adding new entry: cn=Domain Users,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 112.
    adding new entry: cn=Domain Guests,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 123.
    adding new entry: cn=Domain Computers,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 134.
    adding new entry: cn=Administrators,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 179.
    adding new entry: cn=Account Operators,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 201.
    adding new entry: cn=Print Operators,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 212.
    adding new entry: cn=Backup Operators,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 223.
    adding new entry: cn=Replicators,ou=Groups,dc=majdi,dc=lan
    failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 499, line 234.
    adding new entry: sambaDomainName=majdi,dc=majdi,dc=lan
    failed to add entry: invalid DN at /usr/sbin/smbldap-populate line 499, line 242.

    Please provide a password for the domain root:
    /usr/sbin/smbldap-passwd: user root doesn’t exist

    alors oû ça a foiré à ton avi …
    merci

  33. admin said

    invalid DN at /usr/sbin/smbldap-populate line 499, line 242.

    Non ?

  34. Mourad said

    Salut excellent tuto mais je suis bloké, a la commande

    #smbldap-populate
    Please provide a password for the domain root:
    /usr/sbin/smbldap-passwd: user root doesn’t exist

    SVP je suis en stage dans une ecole ou je dois mettre en place un controleur de domaine et ca fait 2jours que je suis bloqué ici svp aidez moi !
    PS: un autre soucis, quand j’essai d’acceder au domaine avec win xp il arrive a m’afficher la ptite fenetre login et mdp mais quand j’essai d’y entrer il me dit « chemin reseau introuvable »

    PS’: vous mettez partout dc=DOMAINE, dc= local
    pour ma part j’ai voulu simplifier jai juste mis « DC=DOMAINE »
    es ce mon erreur ?? ou es ce que ca ne change rien ???

  35. Mourad said

    Magnifique tuto, et apres avoir formaté 3x j’ai finalement réussi a tout faire, le client xp se login avec le compte que j’ai créé avec la commande smbldap-useradd,

    le probleme viens du client xp, qui me dit qu’il va me connecter avec un profil temporaire car i ne trouve pas le profile sur le serveur, je suis perdu je sais pas quoi faire svp aidez moi !!

  36. Mourad said

    ATTENTION : Si vous avez des scripts de logon, pensez à ajouter vos comptes aux groupes voulus : smbldap-groupmod -m $USER “$GROUP1 , $GROUP2″

    Tu peux detailler cette partie stp ??

  37. admin said

    Détailler ?
    Et bien si toto doit être dans les groupes : truc, machin et bidule
    smbldap-groupmod -m toto “truc , machin , bidule″

  38. Yannick EMANDEU said

    Bonjour et merci encore pour ce tuto qui m’a beaucoup aidé. En effet, je l’ai implémenté sur une etch il n’y a eu aucun problème.
    Mon problème actuel est que je suis passé à la Lenny et j’ai suivi les instructions de ce tuto ligne par ligne. Mais pour intégrer le client Windows, on m’affiche un message d’erreur : « Un contrôleur de domaine pour le domain xxx n’a pas pu être contacté. Vérifier la saisie du nom de domaine. » Je ne sais plus quoi faire. Faut-il absolument que je retourne sur la etch?
    A l’aide.!!

  39. Mourad said

    C’était la seule partie que j’avais pas bien saisie, merci pour la réponse mais j’avoue que j’ai été bloqué tres longtemps, tout marche, j’arrive à entrer dans le domaine, j’accéde aux différents partages créés grace aux adresses \\NomduServ\\Partage, j’arrive à écrire dedans mais malheureusement, quand je me login une phrase me dit que je suis en profile temporaire, j’ai été voir enormément de tutos, pour la plupart obselet, c’est d’ailleurs le tuto le plus rescent que j’ai réussi a trouver à ce sujet, je suis bloqué depuis 1mois, j’ai enormement insister, allant jusqu a la modification de base de registre des clients windows mais rien a feire. je m’en remet a vous pour un miracle, je vous laisse mes fichiers conf. merci ! (PS: c’est mon projet de stage de licence je vous avoue que je suis vraiment perdu et apparement pas le seul dans cette situation)
    fichiers conf: http://gist.github.com/357618

  40. admin said

    Mourad : Ton message est un message d’erreur de ton Windows, il faut chercher dans les journaux de celui-ci pour trouver une piste…
    Sinon aucune erreur de ce type ne s’est jamais présentée à moi :(

  41. admin said

    Yannick EMANDEU : Pour avoir implémenté plusieurs fois ce tuto, je n’ai pas connaissance d’une différence flagrante entre Lenny et Etch.
    Je pense que tu dois chercher une différence minime dans l’exécution de ce tuto entre la Etch et la Lenny.

  42. Yannick EMANDEU said

    Bonjour et merci encore pour ce tuto qui m’a vraiment servi. J’ai tout de même un petit problème après mon implémentation: seul l’utilisateur root a son lecteur H: sur le poste de travail. Y aurait-il une config que j’ai oubliée? Merci d’avance.

  43. admin said

    Salut,
    Peut-être le :
    # chmod a+w /home/profiles
    ?

  44. moubi said

    je n’arrive à connecter une machine ayant windows à domaine. s’il vous plaît aidez-moi

  45. admin said

    Sans message ! Cela va être impossible.

  46. Bjr je suis nouveau sur debian mais j’ai déjà fait pas mal de progrès. voilà je profite de ce super tuto que j’ai utilisé pour savoir ce que veut dire le message suivant:
    ldap_simple_bind_s failed: Can’t contact LDAP server

  47. sandor said

    juste pour précisions, j’ai fait un samba + openldap sous debian lenny grâce à ce tuto (parfait) et voilà que depuis 1 semaine je n’arrive pas à authentifier mes users ldap avec dovecot ni courier,
    ils ne communiquent pas avec le serveur Ldap

  48. admin said

    Es-tu sur que le service LDAP se lance ?
    Car cela ressemble à un serveur LDAP non lancé, ou tombé.
    Ce qui expliquerait le souci par ailleurs rencontré avec DOVECOT !

  49. sandor said

    je crois que le service LDAP fonctionne puisque mes utilisateurs Ldap s’authentifient sur des machines Windows , j’ai également mis TLS à mon serveur LDAP est-ce que cela pourrait en être la cause ?

  50. sandor said

    voilà, je voudrais également un tuyau: Je voudrais qu’à la première ouverture de session de mes utilisateurs, afficher la fenêtre de changement de mot de passe ou alors mettre un script dans le partage samba [netlogon] (uniquement la 1ere ouverture de session) qui va afficher une page web leur indiquant qu’ils peuvent changer de mot de passe avec en kdo la procédure à suivre. Merci d’avance…

  51. admin said

    Si tu crées un nouvel utilisateur sur LDAP, celui-ci arrive-t-il à s’identifier sur Woinwoin ?

  52. sandor said

    pardon, c’est quoi woinwoin ?

  53. admin said

    Woinwoin : Windows
    Nunux : Linux

    :)

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.



droits-numeriques.org


Creative Commons License
Cette création par Laurent Besson est mise à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 France.