Installer et configurer Samba-AD sur Debian

Avertissement

Si ce n’est pas encore fait, suivre la page précédente pour préparer votre serveur Debian et configurer le réseau et le nom de machine de votre nouvelle machine.

Récupérer les paquets nécessaires

Les DEB de Tranquil IT sont actuellement validés pour Debian 11 & 12.

Les paquets de la dernière version validés par l’équipe d’ingénieurs Tranquil IT peuvent être téléchargés depuis l’url https://samba.tranquil.it/debian/samba-4.20/.

Quand il faudra migrer vers la version suivante de Samba, il suffira de changer l’url du dépôt comme par exemple https://samba.tranquil.it/debian/samba-4.20/.

Pour plus de confort, vous pouvez définir un dépôt apt et rajouter notre clé publique GPG :

wget -qO-  https://samba.tranquil.it/tissamba-pubkey.gpg | tee /usr/share/keyrings/tissamba.gpg > /dev/null
sha256sum /usr/share/keyrings/tissamba.gpg
  bd0f7140edd098031fcb36106b24a6837b067f1c847f72cf262fa012f14ce2dd  /usr/share/keyrings/tissamba.gpg
echo "deb [signed-by=/usr/share/keyrings/tissamba.gpg] https://samba.tranquil.it/debian/samba-4.20/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/tissamba.list

Installer les paquets

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install samba winbind libnss-winbind krb5-user smbclient ldb-tools python3-cryptography
unset DEBIAN_FRONTEND

Instancier le domaine Active Directory Samba

Configurer Kerberos

  • Modifier le fichier /etc/krb5.conf et remplacer tout son contenu par les 4 lignes suivantes en précisant le domaine Active Directory de votre organisation (ici MYDOMAIN.LAN).

Attention

Le default_realm doit absolument être écrit en lettres MAJUSCULES !!

[libdefaults]
  default_realm = MYDOMAIN.LAN
  dns_lookup_kdc = true
  dns_lookup_realm = false

Configurer Samba

  • Effacer le fichier /etc/smb/smb.conf s’il a déjà été généré (il sera régénéré par la commande d’instanciation) :

    rm -f /etc/samba/smb.conf
    
  • Sur Debian, nous devons arrêter tous les services type serveur de fichiers :

    systemctl stop samba winbind nmbd smbd
    
  • Configurer Samba avec le rôle de contrôleur de domaine. Dans la ligne qui suit, vous penserez à changer à la fois le nom du royaume kerberos, et le nom court du domaine (nom netbios) :

    samba-tool domain provision --realm=MYDOMAIN.LAN --domain MYDOMAIN --server-role=dc
    
  • Ré-initialiser le mot de passe administrator :

    samba-tool user setpassword administrator
    
  • Vérifier la ligne dns forwarder = xxx.xxx.xxx.xxx dans votre fichier /etc/samba/smb.conf. Elle doit pointer vers un serveur DNS valide, par ex. :

    dns forwarder = 1.1.1.1
    
  • Reconfigurer la résolution DNS pour la machine locale. Dans le fichier /etc/resolv.conf de l’interface réseau, remplacer la ligne suivante :

    search mydomain.lan
    nameserver 127.0.0.1
    
  • Le script de création de domaine Samba crée un fichier /var/lib/samba/private/krb5.conf inutile. Il faut le supprimer et le remplacer par un lien symbolique vers le fichier /etc/krb5.conf :

    rm -f /var/lib/samba/private/krb5.conf
    ln -s /etc/krb5.conf /var/lib/samba/private/krb5.conf
    
  • Activer Samba pour qu’il démarre automatiquement au prochain reboot :

    systemctl disable samba winbind nmbd smbd
    systemctl mask samba winbind nmbd smbd
    systemctl unmask samba-ad-dc
    systemctl enable samba-ad-dc
    
  • Redémarrer la machine avec un reboot pour vérifier que Samba redémarre bien :

  • Après redémarrage, tester que le kerberos est bien configuré et que vous obtenez bien un TGT :

    Attention

    L’Administrateur par défaut est administrator en anglais (taper le mot de passe du compte administrator, si ça ne renvoie rien ou que vous obtenez un message concernant l’expiration du mot de passe, c’est que c’est bon).

    kinit administrator
    klist
    
  • Tester les DNS :

    dig @localhost google.fr
    dig @localhost srvads.mydomain.lan
    dig -t SRV @localhost _ldap._tcp.mydomain.lan
    

Valider la nouvelle installation avec un client Windows

  • Joindre une machine au domaine.

  • A partir de cette machine, vérifier l’accès aux partages système \mydomain.lan\sysvol et \mydomain.lan\netlogon.

Pour gérer votre nouveau domaine, il faut installer les interfaces de management sur un poste Windows. La ligne de commande Samba est efficace pour de nombreuses tâches d’administration, mais certaines tâches seront plus simples à réaliser avec l’outil graphique RSAT.

Vous trouverez par vous-même votre équilibre optimal entre la ligne de commande et RSAT avec l’expérience d’exploitation de votre Samba.

Une fois RSAT installé :

  • Créer et supprimer un enregistrement DNS à partir de la console DNS Active Directory.

  • Créer et supprimer un compte utilisateur ou un compte machine à partir de la console Utilisateurs et Ordinateurs Active Directory.

Super, si vous êtes parvenu jusqu’à cette étape, c’est que tout se passe bien et que vous avez un nouveau domaine Samba-AD opérationnel.

Maintenant, nous allons configurer le service DNS en mode BindDLZ pour améliorer les performances de votre Samba-AD.