Samba
Samba est une réimplémentation en C++ et Python, du module Active Directory de Windows 2012 R2 capable de fonctionner de sous linux.
Nous avons choisi d'utiliser cette distribution, car elle nous permet de pouvoir exécuter du Active Directory sur Linux, Et d'avoir une solution open source pour le déploiement de l'Active Directory.
Configuration NixOS
Pour la configuration de SAMBA sur nixos la premiere chose à faire est d'appliquer un overlay sur le paquet samba. Cet overlay va inclure dans la compilation les module liés à l'active directory
Dans la configuration Nixos voici comment cela se manifeste :
Ensuite nous devons désactiver resolvconf pour ne pas interfacer avec le dns interne de SAMBA. a Au niveau de la configuration Nix nous avons déploiement à désactiver modules resolvconf
systemd.services.resolvconf.enable = false;
Et pour terminer la configuration paquet de SAMBA, nous allons finir par overrider le service par défaut de SAMBA pour le créer avec notre paquet personalisé
Voici la configuration nixos lié au service systemd de SAMBA :
Override du service par défaut de SAMBA
Utilisation des options SAMBA provenant de nixpkgs :
Maintenant, nous devons configurer le firewall
Installation du DC Primaire

Cette commande permet d'initialiser l'AD et de peupler le serveur dns interne à SAMBA. Cette commande va aussi créer l'Administrateur par défaut avec un mot de passe à changer.

Comment joindre un AD secondaire
Avec cette commande, il est possible de joindre un AD
sudo samba-tool domain join innovalia.cc DC -U "INNOVALIA\\Administrator"
Liaison d'un client avec SAMBA
Nous allons faire la liaison d'une machine cliente sur l'ad SAMBA.


Ensuite une fois la liaison faite, il faut installer rstat pour pouvoir contrôler l'AD, cela est aussi possible, avec la ligne de commande SAMBA, mais pour garder une administration classique, nous avons décidé de quand meme administrer notre SAMBA via des MMCs windows.
:::
Un point d'amélioration serait de développer un script python avec les librairies de SAMBA, pour automatiser le déploiment de notre Active directory https://samba.tranquil.it/doc/en/samba_advanced_methods/samba_python_samdb.html
:::
Test de redondance
Configuration de l'active directory
Création des utilisateurs et groupes
Pour créer des utilisateurs et des groupes, dans l'Active Directory de Samba, nous allons utiliser la commande samba-tool.

Création d'un groupe :

Lister les utilisateurs :
Création des OU
Création d'une Unité d'Organisation (OU) :
