Lab_AD_Complet/linux-client/entrypoint.sh
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

43 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Prépare linux01 sans rejoindre le domaine (geste laissé à l'apprenant).
# Fait par AcadéNice - https://acadenice.fr/
set -euo pipefail
AD_DOMAIN="${AD_DOMAIN:-corp.lab}"
DC_HOST="${DC_CONTAINER_IP:-lab-dc01}"
DC_IP="$(getent hosts "$DC_HOST" | awk '{print $1}' || true)"
if [ -n "$DC_IP" ]; then
cat > /etc/resolv.conf <<EOF
nameserver $DC_IP
search $AD_DOMAIN
EOF
# Override nécessaire : dockurr/windows NAT la VM, l'IP annoncée par DNS
# (ex 172.30.0.2) n'est pas routable depuis ce conteneur. On redirige donc
# les noms clés vers l'IP du conteneur DC, que dockurr DNAT vers la VM.
if ! grep -q "$AD_DOMAIN" /etc/hosts; then
echo "$DC_IP $AD_DOMAIN dc01.$AD_DOMAIN dc01" >> /etc/hosts
fi
fi
mkdir -p /run/dbus
[ -S /run/dbus/system_bus_socket ] || dbus-daemon --system --fork
if [ -x /usr/sbin/sshd ]; then
ssh-keygen -A >/dev/null 2>&1 || true
grep -q pam_mkhomedir /etc/pam.d/common-session || \
echo "session optional pam_mkhomedir.so skel=/etc/skel umask=077" >> /etc/pam.d/common-session
/usr/sbin/sshd -D &
fi
cat <<EOF
linux01 prêt. Prochaine étape (côté apprenant) :
docker exec -it lab-linux01 bash
realm discover $AD_DOMAIN
EOF
exec sleep infinity