Intégrer Ubuntu 16.04 à AD en tant que membre de domaine avec Samba et Winbind - Partie 8
Ce tutoriel décrit comment joindre une machine Ubuntu à un domaine Samba4 Active Directory afin d’authentifier des comptes AD avec une liste de contrôle d’accès locale pour des fichiers et des répertoires ou de créer et de mapper des partages de volumes pour les utilisateurs de contrôleurs de domaine (agir en tant que serveur de fichiers).
Exigences:
- Créer une infrastructure Active Directory avec Samba4 sur Ubuntu
Étape 1 : Configurations initiales pour joindre Ubuntu à Samba4 AD
1. Avant de commencer à joindre un hôte Ubuntu à un contrôleur de domaine Active Directory, vous devez vous assurer que certains services sont correctement configurés sur la machine locale.
Un aspect important de votre machine représente le nom d’hôte. Configurez un nom de machine approprié avant de rejoindre le domaine à l’aide de la commande hostnamectl ou en modifiant manuellement le fichier /etc/hostname.
hostnamectl set-hostname your_machine_short_name
cat /etc/hostname
hostnamectl
2. À l’étape suivante, ouvrez et modifiez manuellement les paramètres du réseau de votre machine avec les configurations IP appropriées. Les paramètres les plus importants ici sont les adresses IP DNS qui pointent vers votre contrôleur de domaine.
Modifiez le fichier /etc/network/interfaces et ajoutez l’instruction dns-nameservers avec vos adresses IP AD et votre nom de domaine appropriés, comme illustré sur la capture d’écran ci-dessous.
Assurez-vous également que les mêmes adresses IP DNS et le nom de domaine sont ajoutés au fichier /etc/resolv.conf.
Sur la capture d’écran ci-dessus, 192.168.1.254 et 192.168.1.253 sont les adresses IP du DC Samba4 AD et Tecmint.lan représente le nom du domaine AD qui sera interrogé par toutes les machines intégrées dans realm.
3. Redémarrez les services réseau ou redémarrez la machine afin d’appliquer les nouvelles configurations réseau. Émettez une commande ping sur votre nom de domaine afin de tester si la résolution DNS fonctionne comme prévu.
Le contrôleur de domaine AD doit rejouer avec son nom de domaine complet. Si vous avez configuré un serveur DHCP dans votre réseau pour attribuer automatiquement des paramètres IP à vos hôtes LAN, assurez-vous d’ajouter des adresses IP AD DC aux configurations DNS du serveur DHCP.
systemctl restart networking.service
ping -c2 your_domain_name
4. La dernière configuration importante requise est représentée par la synchronisation temporelle. Installez le package ntpdate, interrogez et synchronisez l’heure avec le contrôleur de domaine AD en exécutant les commandes ci-dessous.
sudo apt-get install ntpdate
sudo ntpdate -q your_domain_name
sudo ntpdate your_domain_name
5. À l’étape suivante, installez le logiciel requis par la machine Ubuntu pour être entièrement intégré dans le domaine en exécutant la commande ci-dessous.
sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
Pendant l’installation des packages Kerberos, vous devez être invité à entrer le nom de votre domaine par défaut. Utilisez le nom de votre domaine en majuscules et appuyez sur la touche Entrée pour continuer l’installation.
6. Une fois l’installation de tous les packages terminée, testez l’authentification Kerberos par rapport à un compte d’administration AD et répertoriez le ticket en exécutant les commandes ci-dessous.
kinit ad_admin_user
klist
Étape 2 : Joignez Ubuntu à Samba4 AD DC
7. La première étape de l’intégration de la machine Ubuntu dans le domaine Samba4 Active Directory consiste à modifier le fichier de configuration Samba.
Sauvegardez le fichier de configuration par défaut de Samba, fourni par le gestionnaire de paquets, afin de commencer avec une configuration propre en exécutant les commandes suivantes.
mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
nano /etc/samba/smb.conf
Sur le nouveau fichier de configuration Samba, ajoutez les lignes ci-dessous :
[global]
workgroup = TECMINT
realm = TECMINT.LAN
netbios name = ubuntu
security = ADS
dns forwarder = 192.168.1.1
idmap config * : backend = tdb
idmap config *:range = 50000-1000000
template homedir = /home/%D/%U
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
vfs objects = acl_xattr
map acl inherit = Yes
store dos attributes = Yes
Remplacez les variables de groupe de travail, de domaine, de nom netbios et de redirecteur DNS par vos propres paramètres personnalisés.
Le paramètre de domaine par défaut winbind use oblige le service winbind à traiter tous les noms d’utilisateur AD non qualifiés comme des utilisateurs de l’AD. Vous devez omettre ce paramètre si vous avez des noms de comptes système locaux qui chevauchent des comptes AD.
8. Maintenant, vous devez redémarrer tous les démons samba et arrêter et supprimer les services inutiles et activer les services samba à l’échelle du système en exécutant les commandes ci-dessous.
sudo systemctl restart smbd nmbd winbind
sudo systemctl stop samba-ad-dc
sudo systemctl enable smbd nmbd winbind
9. Connectez la machine Ubuntu à Samba4 AD DC en exécutant la commande suivante. Utilisez le nom d’un compte AD DC avec des privilèges d’administrateur pour que la liaison au domaine fonctionne comme prévu.
sudo net ads join -U ad_admin_user
10. À partir d’un ordinateur Windows sur lequel les outils RSAT sont installés, vous pouvez ouvrir AD UC et accéder au conteneur Ordinateurs. Ici, votre machine jointe à Ubuntu doit être répertoriée.
Étape 3 : Configurer l’authentification des comptes AD
11. Afin d’effectuer l’authentification des comptes AD sur la machine locale, vous devez modifier certains services et fichiers sur la machine locale.
Tout d’abord, ouvrez et modifiez le fichier de configuration NSS (Name Service Switch).
sudo nano /etc/nsswitch.conf
Ajoutez ensuite la valeur winbind pour les lignes passwd et groupez, comme illustré dans l’extrait ci-dessous.
passwd: compat winbind
group: compat winbind
12. Afin de tester si la machine Ubuntu a été intégrée avec succès au domaine, exécutez la commande wbinfo pour répertorier les comptes et les groupes de domaine.
wbinfo -u
wbinfo -g
13. Vérifiez également le module Winbind nsswitch en exécutant la commande getent et faites passer les résultats à travers un filtre tel que grep pour restreindre la sortie uniquement pour des utilisateurs ou des groupes de domaine spécifiques.
sudo getent passwd| grep your_domain_user
sudo getent group|grep 'domain admins'
14. Pour vous authentifier sur une machine Ubuntu avec des comptes de domaine, vous devez exécuter la commande pam-auth-update avec les privilèges root et ajouter toutes les entrées requises pour le service winbind et créer automatiquement des répertoires personnels pour chaque compte de domaine lors de la première connexion.
Vérifiez toutes les entrées en appuyant sur la touche [espace] et appuyez sur ok pour appliquer la configuration.
sudo pam-auth-update
15. Sur les systèmes Debian, vous devez modifier manuellement le fichier /etc/pam.d/common-account et la ligne suivante afin de créer automatiquement des foyers pour les utilisateurs de domaine authentifiés.
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
16. Pour que les utilisateurs d’Active Directory puissent changer le mot de passe à partir de la ligne de commande sous Linux, ouvrez le fichier /etc/pam.d/common-password et supprimez l’instruction use_authtok de la ligne de mot de passe pour enfin ressembler à l’extrait ci-dessous.
password [success=1 default=ignore] pam_winbind.so try_first_pass
17. Pour vous authentifier sur un hôte Ubuntu avec un compte AD Samba4, utilisez le paramètre de nom d’utilisateur de domaine après la commande su -. Exécutez la commande id pour obtenir des informations supplémentaires sur le compte AD.
su - your_ad_user
Utilisez la commande pwd pour voir le répertoire actuel de l’utilisateur de votre domaine et la commande passwd si vous souhaitez modifier le mot de passe.
18. Pour utiliser un compte de domaine avec des privilèges root sur votre machine Ubuntu, vous devez ajouter le nom d’utilisateur AD au groupe de système sudo en exécutant la commande ci-dessous :
sudo usermod -aG sudo your_domain_user
Connectez-vous à Ubuntu avec le compte de domaine et mettez à jour votre système en exécutant la commande apt-get update pour vérifier si l’utilisateur du domaine dispose des privilèges root.
19. Pour ajouter des privilèges root pour un groupe de domaines, ouvrez le fichier /etc/sudoers à l’aide de la commande visudo et ajoutez la ligne suivante comme illustré sur la capture d’écran ci-dessous.
%YOUR_DOMAIN\\your_domain\ group ALL=(ALL:ALL) ALL
Utilisez des barres obliques inverses pour échapper les espaces contenus dans le nom de votre groupe de domaine ou pour échapper la première barre oblique inverse. Dans l’exemple ci-dessus, le groupe de domaines pour le domaine TECMINT est nommé « administrateurs de domaine ».
Le symbole du signe de pourcentage ( %) qui précède indique qu’il s’agit d’un groupe et non d’un nom d’utilisateur.
20. Si vous exécutez la version graphique d’Ubuntu et que vous souhaitez vous connecter au système avec un utilisateur de domaine, vous devez modifier le gestionnaire d’affichage LightDM en éditant le fichier /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf, ajoutez les lignes suivantes et redémarrez la machine pour refléter les modifications.
greeter-show-manual-login=true
greeter-hide-users=true
Il devrait maintenant être en mesure d’effectuer des connexions sur Ubuntu Desktop avec un compte de domaine en utilisant le format your_domain_username ou your_domain_username@your_domain.tld ou your_domain\your_domain_username.

















