Lab_AD_Complet/docs/etudiant/fr/07-jonction-poste-linux.md
Corentin 8e1b06e090 Initial lab release: Docker-based Active Directory lab
Complete Active Directory teaching environment based on dockurr/windows:
- Windows Server domain controller, Windows 11 client, Debian 12 client
- docker-compose orchestration, env-driven configuration
- Bilingual documentation (FR + EN) for students
- Dual approach (GUI + PowerShell) in every procedure
- Instructor course plan and reference scripts
- RDP launcher scripts for Linux, macOS and Windows

Made by AcadéNice - https://acadenice.fr/
2026-04-17 11:29:49 +02:00

3.5 KiB

Joindre le poste Linux au domaine

Objectif : configurer le client Debian linux01 pour qu'il s'authentifie auprès de l'AD, et valider la résolution des utilisateurs et groupes AD.

La stack utilisée est la stack standard sur Debian/Ubuntu/RHEL :

  • realmd : outil de découverte et d'adhésion à un domaine
  • sssd : démon qui gère l'intégration (cache, Kerberos, NSS, PAM)
  • adcli : client de bas niveau pour AD
  • krb5 : couche Kerberos

Tous ces paquets sont déjà présents dans l'image (voir linux-client/Dockerfile).

Démarrer le conteneur

docker compose up -d linux01
docker exec -it lab-linux01 bash

Le point d'entrée configure automatiquement /etc/resolv.conf pour pointer vers l'IP du conteneur DC01 et ajoute des entrées hosts pour les noms AD.

Vérifie :

cat /etc/resolv.conf
cat /etc/hosts | tail
ping -c 2 corp.lab

Découverte du domaine

Cmdlet clé : realm discover.

realm discover corp.lab

Tu dois voir une réponse structurée indiquant type: kerberos et server-software: active-directory.

Si tu n'as rien, vérifie la résolution DNS : le DC doit répondre au port 53 sur l'IP utilisée.

Jonction au domaine

Cmdlet clé : realm join.

realm join -U Administrator corp.lab
# Saisir le mot de passe de CORP\Administrator quand demandé

Sous le capot, realmd :

  1. Crée un compte ordinateur LINUX01 dans CN=Computers
  2. Génère un keytab Kerberos dans /etc/krb5.keytab
  3. Configure /etc/sssd/sssd.conf
  4. Active sssd pour les bases NSS (passwd, group) et PAM

Démarrer sssd

Dans un conteneur, systemd n'est pas toujours disponible. On lance sssd directement :

sssd --daemon

Validation

Résolution NSS :

id pmartin@corp.lab
getent passwd pmartin@corp.lab
getent group 'GG_Pedagogie@corp.lab'

Tu dois voir :

  • un UID attribué par sssd (grosse valeur, dérivée du SID)
  • la liste des groupes AD de l'utilisateur, incluant l'imbrication AGDLP

Authentification Kerberos :

kinit pmartin@CORP.LAB
klist

klist doit afficher un TGT (Ticket Granting Ticket) valide.

Se connecter en SSH avec un compte AD

Si tu as activé SSH dans le conteneur (c'est le cas par défaut avec le Dockerfile fourni), depuis l'hôte :

ssh pmartin@lab-linux01
# ou l'IP du conteneur

Le home directory est créé automatiquement au premier login grâce au module pam_mkhomedir configuré dans l'entrypoint.

Limiter l'accès à certains groupes AD

Par défaut, tous les utilisateurs AD peuvent se connecter. Pour restreindre :

realm permit -g "GG_Pedagogie@corp.lab"

ou l'inverse (tout interdire sauf exception) via le fichier /etc/sssd/sssd.conf.

Points d'attention

  • realm join échoue si la résolution DNS est mauvaise ou si l'heure du client dérive de plus de 5 minutes par rapport au DC. Sur un conteneur fraîchement démarré, l'heure est celle de l'hôte, ça suffit.
  • Dans ce lab, la résolution DNS est rusée : le DC annonce une IP interne non routable. On contourne via /etc/hosts. En production, tu aurais le DC directement joignable sur le réseau.
  • sssd cache les utilisateurs pendant 6h par défaut. Si tu modifies un groupe côté AD et que l'effet ne se voit pas, lance sss_cache -E ou redémarre sssd.

Quitter le domaine

realm leave corp.lab

Le compte ordinateur est supprimé côté DC, le keytab retiré, sssd désactivé.

Étape suivante

Le lab est complètement opérationnel. Consulte troubleshooting.md en cas de souci.