Joindre un poste sous Linux Ă un domaine Windows Active Directory pour profiter de lâauthentification centralisĂ©e nâest pas aussi simple quâun client sous Windows. On peut mĂȘme dire que câest souvent un vĂ©ritable casse-tĂȘteâŠÂ Sur le net, on trouve autant de façons de faire, plus ou moins simples ou efficaces, que dâutilisateurs de LinuxâŠÂ (je dis ça, je dis rien !)
Aujourdâhui, voici une mĂ©thode garantie trĂšs simple que jâai eu lâoccasion dâutiliser rĂ©cemment pour des postes sous Ubuntu Focal Fossa (20.04) et qui, pour moi, a fait ses preuves.
Joindre un poste Ubuntu 20.04 Ă un domaine AD
Allez on ne perd pas trop de temps en blabla aujourd’hui !
Pour ce tuto, je dispose d’un serveur Active Directory sous Windows 2019 qui gĂšre le domaine neptunet.lan et d’un client Ubuntu 20.04.
Info ++ : Test rĂ©alisĂ© uniquement sous Ubuntu 20.04 Focal Fossa, aucune garantie de fonctionnement sous une autre version… |
Voici le schéma de mon infrastructure :
Les 2 machines devront ĂȘtre dans le mĂȘme rĂ©seau et avoir accĂšs Ă internet.
On commence par attribuer une adresse IP Ă notre poste client Ubuntu.
Info ++ :Â Lâadresse du DNS doit ĂȘtre celle du serveur Active Directory pour pouvoir joindre le domaine. |
Ensuite on va renommer la machine par un nom reconnaissable ou correspondant Ă la politique de lâentreprise (Exemples : PC-001, PC-COMPTA1âŠ) :
nano /etc/hostname |
Et on va lancer une petite mise Ă jour de la machineâŠ
sudo apt update && apt upgrade ây |
Une fois les mises à jour effectuées, on peut installer les paquets nécessaires à la jonction au domaine et leurs dépendances :
sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit ây |
Câest bon les paquets sont bien installĂ©s ? Alors on va tout de suite sâassurer que le domaine est bien joignable par le client Ubuntu avec la commande suivante :
realm discover NEPTUNET.LAN |
Vous devriez obtenir les informations de ce type :
Visiblement, pas de problĂšme ! On peut alors rejoindre directement le domaine Ă lâaide du compte administrateur avec la commande :
realm join --user=Administrateur NEPTUNET.LAN |
Vous serez invitĂ© Ă saisir le mot de passe de lâadministrateur du domaine :
Info ++ : Attention, lorsque vous allez saisir le mot de passe, aucun symbole ne sera affichĂ© Ă lâĂ©cran, soyez vigilant. |
A ce stade, mon client Ubuntu a bien rejoint mon domaine et apparaĂźt dans la console Utilisateurs et Ordinateurs Active Directory de mon serveur Windows :
CâĂ©tait rapide non ??? On va quand mĂȘme vĂ©rifier quâon a bien accĂšs Ă la base de donnĂ©es qui contient les utilisateurs, tout simplement en testant lâexistence dâun utilisateur.
Pour ce tuto, jâai créé un utilisateur « Robin » dans la console Utilisateurs et Ordinateurs Active Directory. Testons son existence avec la commande :
id Robin@NEPTUNET.LAN |
La commande me retourne bien des infos sur mon utilisateur Robin, notamment les groupes dont il est membre.
Nous allons modifier une petite configuration pour permettre la crĂ©ation automatique du rĂ©pertoire home de l’utilisateur. Pour cela, Ă©ditez le fichier common-session :
sudo nano /etc/pam.d/common-session |
A la fin du fichier, ajoutez la ligne suivante :
session optional pam_mkhomedir.so skel=/etc/skel umask=077
Ensuite on va tenter une premiÚre connexion sur la machine Ubuntu avec le compte de Robin, mais en ligne de commandes. Pour cela, saisissez la commande :
su â Robin@neptunet.lan |
On constate ici deux choses :
- Le répertoire home de robin a bien été créé
- Nous sommes désormais bien connectés avec le compte de domaine Robin et non plus un utilisateur local de la machine Ubuntu
Pour quitter la session de Robin, tapez simplement exit :
Maintenant on va tenter de se connecter en mode graphique quand mĂȘme, câest plus sympa pour nos utilisateurs ^^
Pour cela, il faut procéder à un petit reboot de la machine.
AprĂšs redĂ©marrage, cliquez sur « Absent de la liste ? » et saisissez le nom de connexion de lâutilisateur suivi de « @nom-domaine » pour ouvrir sa session :
VoilĂ , votre utilisateur de domaine dispose maintenant de sa propre session sur un poste client Ubuntu 20.04 ! Il a Ă©tĂ© authentifiĂ© directement sur lâAD se qui lui a permis de se connecter.
Allez un truc en plus pour la forme ! On va voir comment notre utilisateur va pouvoir accĂ©der trĂšs simplement Ă des rĂ©pertoires partagĂ©s qui sont hĂ©bergĂ©s sur un serveur Windows Ă©galement (sur le serveur AD dans mon cas⊠pas top dâailleurs, ne faites pas ça en prod !)
Info + : Il n’est absolument pas nĂ©cessaire que la machine Ubuntu soit membre d’un domaine Active Directory pour que les manipulations suivantes fonctionnent, c’est juste ici un petit + que je vous donne au passage |
Sur mon serveur AD, jâai créé un dossier « Partage » (oui câest original), que jâai⊠partagĂ©âŠ
Dans lâonglet SĂ©curitĂ©, jâai ajoutĂ© lâutilisateur Robin et attribuer les droits de modifications sur ce dossier :
Sur la machine Ubuntu, on va faire en sorte que Robin accĂšde Ă ce partage. Ouvrez lâexplorateur de fichiers et allez dans la partie « Autres emplacements ».
En bas, vous avez un espace « Connexion Ă un serveur ». Il faut renseigner Ă cet endroit le chemin rĂ©seau pour accĂ©der au partage. Chez Linux, il faut utiliser le protocole smb. Pour avoir un exemple de la commande Ă saisir, vous pouvez cliquer sur le point dâinterrogation.
Vous avez vu quâil vous fallait donc utiliser le prĂ©fixe « smb:// » avant dâindiquer lâadresse du partage.
La ligne Ă saisir prendra donc la forme suivante : smb://nom-serveur/nom-partage
Dans mon cas, ce sera ceci :
Une authentification est nĂ©cessaire pour accĂ©der au partage. Je garde le nom de mon utilisateur Robin, remplace le « Workgroup » par le nom de domaine et saisi le mot de passe de Robin. Jâen profite pour cocher la case « Se souvenir pour toujours » afin que mon utilisateur nâait pas Ă saisir ses identifiants Ă chaque fois (ouais je suis sympa…).
Mon utilisateur a désormais accÚs à une ressource partagée sur une machine Windows grùce à son authentification sur le domaine.
Allez derniÚre astuce pour la route :
Pour quâun partage soit accessible dĂšs le dĂ©marrage et que lâutilisateur nâait pas Ă re-saisir smb://âŠ, vous pouvez faire un clic droit sur le partage montĂ© et cliquer sur « Ajouter le signet » (sinon il faudra vous orienter vers la solution fstab…)
Au redĂ©marrage, il sera directement visible et accessible dans la liste de lâexplorateur de fichiers.
Alors, pas mal hein ?! ça me rĂ©concilierai presque presque avec Linux cette histoire… oh wait…
A bientĂŽt !