Joindre une machine Ubuntu 22 à un domaine Active Directory
Les étapes suivantes permettent de joindre une machine disposant d'Ubuntu 22.04 LTS à un domaine Active Directory.
S'assurer que le serveur a le bon nom avant de rejoindre le domaine
Au besoin, changer le nom de machine avec la commande suivante :
Activation de la synchro de temps
La gestion du temps (de l'horloge) est primordiale à la bonne intégration d'une machine à un domaine. Effectuer les réglages suivants pour définir un contrôleur de domaine comme serveur de temps :
Redémarrer le service
Synchroniser l'horloge
Lister les zones de temps et repérer la bonne (Pour la France : Europe/Paris)
Définir la zone. L'exemple suivant concerne la France.
Définir le serveur de temps sur un contrôleur de domaine
On commence par faire une copie du fichier de configuration, au cas où.
Ajout des contrôleurs de domaine en tant que serveur de temps + fallback sur les serveurs mondiaux
sed -i "s/#FallbackNTP=/FallbackNTP=controlleur1.mondomaine.fr controleur2.mondomaine.fr 0.arch.pool.ntp.org 1.arch.pool.ntp.org/g" /etc/systemd/timesyncd.conf
Installer les paquets requis pour joindre un domaine
apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit krb5-user
Découvrir le domaine
Rejoindre le domaine
realm --verbose join -U admin_du_domaine mondomaine.fr --computer-ou=OU=MON_OU,OU=Ordinateurs,DC=mondomaine,DC=fr
Paramétrage de sssd
Puis le modifier ainsi avec sed
:
sed -i "s/use_fully_qualified_names = True/use_fully_qualified_names = False/g" /etc/sssd/sssd.conf
sed -i "s/fallback_homedir = \/home\/%u\@\%d/fallback_homedir = \/home\/\%u/g" /etc/sssd/sssd.conf
sed -i '/ad_domain = mondomaine.fr/ a ad_server = monserveur1.in.ama.bzh' /etc/sssd/sssd.conf
sed -i '/monserveur1.mondomaine.fr/ a ad_backup_server = monserveur2.mondomaine.fr, monserveur3.mondomaine.fr' /etc/sssd/sssd.conf
Redémarrer le service sssd
Paramétrage de pam.d
Faire une copie de secours du fichier de configuration /etc/pam.d/common-session
Modification à faire pour permettre la création automatique du squelette /home/mesfichiers
sed -i "s/\# end of pam-auth-update config/session optional pam_mkhomedir.so skel=\/etc\/skel umask=0077\n\# end of modified pam-auth-update config/g" /etc/pam.d/common-session
Autoriser un utilisateur ou un groupe AD à se connecter
Autoriser un utilisateur :
Autoriser un groupe :
Ajouter un groupe d'utilisateur en tant que sudoer
Exemple :
Troubleshooting
Si toutefois il est impossible d'ouvrir une session avec un utilisateur du domaine alors que toutes les configurations précédentes ont été réalisées, vérifier l'état du fichier /etc/nsswitch.conf
. Il doit correspondre à ceci :
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: files systemd sss
group: files systemd sss
shadow: files sss
gshadow: files
hosts: files dns
networks: files
protocols: db files
services: db files sss
ethers: db files
rpc: db files
netgroup: nis sss
sudoers: files sss
automount: sss