Samba : Installation d’un contrôleur de domaine

Samba : Installation d’un contrôleur de domaine

Table of Contents

Introduction

Samba permet d'implémenter le protocole propriétaire SMB/CIFS de Microsoft sous un environnement Unix et ses dérivés. Il offre la possibilité de partager des ressources dans un SI hétérogène Windows/Linux.

A partir de la version 3, Samba fournit le partage de fichiers/imprimantes et peut intégrer un domaine Active Directory en tant que membre. Il peut également être PDC (Primary Domain Controller) avec un niveau fonctionnel NT4.

A partir de la version 4, Samba peut servir de contrôleur de domaine Active Directory avec un niveau fonctionnel Windows Server 2008 et offre les services d'authentification AD. Des GPOs peuvent être déployées.

Dans cette procédure, une distribution Debian 10 et Samba en version 4 sont utilisées.

  • Le serveur samba sera nommé : srv-samba
  • Le domaine sera : domaine.local
  • L'adresse IP du serveur samba sera : 192.168.1.10

Préparation

  • Modifier le nom du serveur en y indiquant le futur domaine :

    sudo echo "srv-samba.domaine.local" > /etc/hostname # Pour la persistence après un reboot
    sudo hostname $(cat /etc/hostname) # Pour modifier le nom sans avoir à reboot
  • Attribuer une adresse IP fixe :

    sudo vi /etc/network/interfaces
    # Exemple :
    # auto ens18
    # iface ens18 inet static
    # address 192.168.1.10
    # netmask 255.255.255.0
    # gateway 192.168.1.254
  • Modifier le fichier hosts en conséquence :

    sudo echo "192.168.1.10 srv-samba.domaine.local srv-samba" >> /etc/hosts

Installation et configuration de Samba

  • Installation des paquets nécessaires :

    sudo apt -y install samba krb5-config winbind smbclient
    • Modifier smb.conf pour utiliser les paramètres WINS fournis par DHCP ? : Non
    • Royaume (« realm ») Kerberos version 5 par défaut : domaine.local
    • Serveurs Kerberos du royaume : srv-samba.domaine.local
    • Serveur administratif du royaume Kerberos : srv-samba.domaine.local
  • Samba est installé.

Création du domaine

  • Renommer le fichier de configuration principal de samba /etc/samba/smb.conf :

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.org
  • Provisionner le domaine :

    sudo samba-tool domain provision
    • Realm [DOMAINE.LOCAL]: Appuyer sur Entrée
    • Domain [DOMAINE]: Appuyer sur Entrée
    • Server Role (dc, member, standalone) [dc]: Appuyer sur Entrée
    • DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: Appuyer sur Entrée (Le serveur DNS sera interne à Samba dans cette installation)
    • DNS forwarder IP address (write 'none' to disable forwarding) [1.1.1.1]: Appuyer sur Entrée
    • Administrator password: Saisir le mot de passe admin du domaine
    • Retype password: Ressaisir le mot de passe admin du domaine
  • Le domaine est créé :

    Looking up IPv4 addresses
    Looking up IPv6 addresses
    No IPv6 address will be assigned
    Setting up share.ldb
    Setting up secrets.ldb
    Setting up the registry
    Setting up the privileges database
    Setting up idmap db
    Setting up SAM db
    Setting up sam.ldb partitions and settings
    Setting up sam.ldb rootDSE
    Pre-loading the Samba 4 and AD schema
    Unable to determine the DomainSID, can not enforce uniqueness constraint on local domainSIDs
    
    Adding DomainDN: DC=domaine,DC=local
    Adding configuration container
    Setting up sam.ldb schema
    Setting up sam.ldb configuration data
    Setting up display specifiers
    Modifying display specifiers and extended rights
    Adding users container
    Modifying users container
    Adding computers container
    Modifying computers container
    Setting up sam.ldb data
    Setting up well known security principals
    Setting up sam.ldb users and groups
    Setting up self join
    Adding DNS accounts
    Creating CN=MicrosoftDNS,CN=System,DC=domaine,DC=local
    Creating DomainDnsZones and ForestDnsZones partitions
    Populating DomainDnsZones and ForestDnsZones partitions
    Setting up sam.ldb rootDSE marking as synchronized
    Fixing provision GUIDs
    A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf
    Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!
    Once the above files are installed, your Samba AD server will be ready to use
    Server Role:           active directory domain controller
    Hostname:              srv-samba
    NetBIOS Domain:        DOMAINE
    DNS Domain:            domaine.local
    DOMAIN SID:            S-1-5-21-1555810112-1359199810-2012430263

Mise en service du domaine

  • Copier le fichier de configuration de kerberos dans le répertoire /etc :

    sudo cp /var/lib/samba/private/krb5.conf /etc/
  • Arrêter les services SMB, NMBD et Bind :

    sudo systemctl stop smbd nmbd winbind
  • Désactiver les services SMB, NMBD et Bind :

    sudo systemctl disable smbd nmbd winbind
  • Rendre visible le service samba-ad-dc :

    sudo systemctl unmask samba-ad-dc
  • Démarrer le service :

    sudo systemctl start samba-ad-dc
  • Activer le service :

    sudo systemctl enable samba-ad-dc
  • Vérifier le statut de Samba :

    smbclient -L localhost -U%
  • Tout est OK :

          Sharename       Type      Comment
          ---------       ----      -------
          netlogon        Disk
          sysvol          Disk
          IPC$            IPC       IPC Service (Samba 4.9.5-Debian)
    Reconnecting with SMB1 for workgroup listing.
    
          Server               Comment
          ---------            -------
    
          Workgroup            Master
          ---------            -------
          WORKGROUP            SRV-SAMBA
  • Vérifier le niveau fonctionnel du domaine :

    sudo samba-tool domain level show
  • Le niveau fonctionnel du domaine est Windows 2008 R2 :

    Domain and forest function level for domain 'DC=domaine,DC=local'
    
    Forest function level: (Windows) 2008 R2
    Domain function level: (Windows) 2008 R2
    Lowest function level of a DC: (Windows) 2008 R2

Création utilisateur

  • Créer un 1er utilisateur dans l'annuaire :

    sudo samba-tool user create superman
  • Indiquer le mot de passe de superman :

    New Password:
    Retype Password:
    User 'superman' created successfully

Jonction au domaine

La jonction au domaine d'un poste Windows est identique qu'avec un contrôleur de domaine Microsoft. Les outils d'administrations (RSAT) peuvent être employé pour administrer les objets du domaine (dsa.msc), les gpo (gpmc.msc), le serveur dns (dnsmgmt.msc)...

Avec un DC Microsoft, un compte utilisateur du domaine peut être employé pour joindre un poste au domaine. Avec samba, le compte administrator doit être employé.

Les commentaires sont fermés.