Recherche de site Web

Intégrer Ubuntu 16.04 à AD en tant que membre de domaine avec Samba et Winbind - Partie 8


Ce tutoriel décrit comment rejoindre une machine Ubuntu dans un domaine Samba4 Active Directory afin d'authentifier les comptes AD avec une ACL locale pour les fichiers et répertoires ou pour créer et mapper des partages de volume pour les utilisateurs du contrôleur de domaine (agir en tant que serveur de fichiers).

Exigences:

  1. Créer une infrastructure Active Directory avec Samba4 sur Ubuntu

Étape 1 : Configurations initiales pour rejoindre Ubuntu à Samba4 AD

1. Avant de commencer à rejoindre un hôte Ubuntu dans un Active Directory DC, 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 réseau de votre machine avec les configurations IP appropriées. Les paramètres les plus importants ici sont les adresses IP DNS qui renvoient à 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é dans la capture d'écran ci-dessous.

Assurez-vous également que les mêmes adresses IP DNS et le même 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 de Samba4 AD DC et Tecmint.lan< représente le nom du domaine AD qui sera interrogé par toutes les machines intégrées au domaine.

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 AD DC doit rejouer avec son FQDN. Si vous avez configuré un serveur DHCP sur votre réseau pour attribuer automatiquement les paramètres IP à vos hôtes LAN, assurez-vous d'ajouter les 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 horaire. Installez le package ntpdate, interrogez et synchronisez l'heure avec AD DC 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é au 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, il vous sera demandé de saisir 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 sur un compte administratif AD et répertoriez le ticket en exécutant les commandes ci-dessous.


kinit ad_admin_user
klist

Étape 2 : Rejoignez 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 packages, afin de repartir 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 workgroup, realm, nom netbios et dns forwarder par vos propres paramètres personnalisés.

Le paramètre winbind use default domain amène 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 vos noms de comptes système locaux chevauchent des comptes AD.

8. Vous devez maintenant redémarrer tous les démons samba, 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. Rejoignez 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'une machine Windows sur laquelle les outils RSAT sont installés, vous pouvez ouvrir AD UC et accéder au conteneur Ordinateurs. Ici, votre machine rejointe par Ubuntu devrait ê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 The Name Service Switch (NSS).


sudo nano /etc/nsswitch.conf

Ajoutez ensuite la valeur winbind pour les lignes passwd et group, 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 émettant la commande getent et transférez les résultats via un filtre tel que grep pour affiner la sortie uniquement pour utilisateurs ou groupes de domaines spécifiques.


sudo getent passwd| grep your_domain_user
sudo getent group|grep 'domain admins'

14. Afin de 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 pour créez 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 Active Directory puissent modifier leur mot de passe à partir de la ligne de commande sous Linux, ouvrez /etc/pam.d/common-password fichier 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 l'hôte Ubuntu avec un compte Samba4 AD, 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 votre utilisateur de domaine et la commande passwd si vous souhaitez modifier le mot de passe.

18. Pour utiliser un compte de domaine avec les privilèges root sur votre machine Ubuntu, vous devez ajouter le nom d'utilisateur AD au groupe 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 domaine, 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 aux 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 domaine pour le domaine TECMINT est nommé « administrateurs de domaine ».

Le signe de pourcentage précédent (%) indique que nous faisons référence à un groupe et non à un nom d'utilisateur.

20. Si vous utilisez 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 /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 pouvoir effectuer des connexions sur Ubuntu Desktop avec un compte de domaine en utilisant le format votre_nom_d'utilisateur_de_domaine ou votre_nom_d'utilisateur_de_domaine@votre_domaine.tld ou votre_domaine\votre_nom_d'utilisateur_de_domaine. .