Recherche de site Web

Intégrer Ubuntu à Samba4 AD DC avec SSSD et Realm - Partie 15


Ce didacticiel vous expliquera comment rejoindre une machine Ubuntu Desktop dans un domaine Samba4 Active Directory avec SSSD et Realmd . des services afin d'authentifier les utilisateurs auprès d'un Active Directory.

Exigences:

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

Étape 1 : Configurations initiales

1. Avant de commencer à rejoindre Ubuntu dans un Active Directory, assurez-vous que le nom d'hôte est correctement configuré. Utilisez la commande hostnamectl pour définir le nom de la machine ou modifier manuellement le fichier /etc/hostname.

sudo hostnamectl set-hostname your_machine_short_hostname
cat /etc/hostname
hostnamectl

2. À l'étape suivante, modifiez les paramètres de l'interface réseau de la machine et ajoutez les configurations IP appropriées et les adresses IP du serveur DNS correctes pour pointer vers le contrôleur de domaine Samba AD, comme illustré dans la capture d'écran ci-dessous.

Si vous avez configuré un serveur DHCP dans vos locaux pour attribuer automatiquement les paramètres IP à vos machines LAN avec les adresses IP AD DNS appropriées, vous pouvez ignorer cette étape et continuer.

Sur la capture d'écran ci-dessus, 192.168.1.254 et 192.168.1.253 représentent les adresses IP des contrôleurs de domaine Samba4.

3. Redémarrez les services réseau pour appliquer les modifications à l'aide de l'interface graphique ou de la ligne de commande et émettez une série de commandes ping sur votre nom de domaine afin de tester si la résolution DNS est fonctionne comme prévu. Utilisez également la commande host pour tester la résolution DNS.

sudo systemctl restart networking.service
host your_domain.tld
ping -c2 your_domain_name
ping -c2 adc1
ping -c2 adc2

4. Enfin, assurez-vous que l'heure de la machine est synchronisée avec Samba4 AD. Installez le package ntpdate et synchronisez l'heure avec AD en exécutant les commandes ci-dessous.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Étape 2 : Installer les packages requis

5. À cette étape, installez le logiciel nécessaire et les dépendances requises afin de rejoindre Ubuntu dans Samba4 AD DC : services Realmd et SSSD.

sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6. Saisissez le nom du domaine par défaut en majuscules et appuyez sur la touche Entrée pour continuer l'installation.

7. Ensuite, créez le fichier de configuration SSSD avec le contenu suivant.

sudo nano /etc/sssd/sssd.conf

Ajoutez les lignes suivantes au fichier sssd.conf.

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

Assurez-vous de remplacer le nom de domaine dans les paramètres suivants en conséquence :

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8. Ensuite, ajoutez les autorisations appropriées pour le fichier SSSD en exécutant la commande ci-dessous :

sudo chmod 700 /etc/sssd/sssd.conf

9. Maintenant, ouvrez et modifiez le fichier de configuration Realmd et ajoutez les lignes suivantes.

sudo nano /etc/realmd.conf

Extrait du fichier Realmd.conf :

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10. Le dernier fichier que vous devez modifier appartient au démon Samba. Ouvrez le fichier /etc/samba/smb.conf pour le modifier et ajoutez le bloc de code suivant au début du fichier, après la section [global] comme illustré sur le image ci-dessous.

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

Assurez-vous de remplacer la valeur nom de domaine, en particulier la valeur de domaine, pour qu'elle corresponde à votre nom de domaine et exécutez la commande testparm afin de vérifier si la configuration le fichier ne contient aucune erreur.

sudo testparm

11. Après avoir effectué toutes les modifications requises, testez l'authentification Kerberos à l'aide d'un compte administratif AD et répertoriez le ticket en exécutant les commandes ci-dessous.

sudo kinit [email 
sudo klist

Étape 3 : Rejoignez Ubuntu dans Samba4 Realm

12. Pour joindre une machine Ubuntu à Samba4 Active Directory, suivez la série de commandes illustrées ci-dessous. Utilisez le nom d'un compte AD DC avec des privilèges d'administrateur pour que la liaison au domaine fonctionne comme prévu et remplacez la valeur du nom de domaine en conséquence.

sudo realm discover -v DOMAIN.TLD
sudo realm list
sudo realm join TECMINT.LAN -U ad_admin_user -v
sudo net ads join -k

13. Une fois la liaison de domaine effectuée, exécutez la commande ci-dessous pour vous assurer que tous les comptes de domaine sont autorisés à s'authentifier sur la machine.

sudo realm permit --all

Par la suite, vous pouvez autoriser ou refuser l'accès à un compte d'utilisateur de domaine ou à un groupe à l'aide de la commande realm comme présenté dans les exemples ci-dessous.

sudo realm deny -a
realm permit --groups ‘domain.tld\Linux Admins’
realm permit [email 
realm permit DOMAIN\\User2

14. À partir d'une machine Windows sur laquelle les outils RSAT sont installés, vous pouvez ouvrir AD UC et accéder au conteneur Ordinateurs et vérifier si un compte d'objet portant le nom de votre machine a été créé.

Étape 4 : Configurer l'authentification des comptes AD

15. 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 activer tous les profils PAM, y compris l'option de création automatique. 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

16. Sur les systèmes, modifiez 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

17. Si les utilisateurs d'Active Directory ne peuvent pas modifier leur mot de passe à partir de la ligne de commande sous Linux, ouvrez le fichier /etc/pam.d/common-password et supprimez le use_authtok de la ligne de mot de passe pour finalement ressembler à l'extrait ci-dessous.

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

18. Enfin, redémarrez et activez les services Realmd et SSSD pour appliquer les modifications en exécutant les commandes ci-dessous :

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Afin de tester si la machine Ubuntu a été intégrée avec succès au domaine, exécutez le package winbind et exécutez la commande wbinfo pour répertorier les comptes et les groupes de domaine comme illustré ci-dessous.

sudo apt-get install winbind
wbinfo -u
wbinfo -g

20. Vérifiez également le module Winbind nsswitch en émettant la commande getent sur un utilisateur ou un groupe de domaine spécifique.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. Vous pouvez également utiliser la commande Linux id pour obtenir des informations sur un compte AD, comme illustré dans la commande ci-dessous.

id tecmint_user

22. 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 de travail actuel de votre utilisateur de domaine et la commande passwd si vous souhaitez modifier le mot de passe.

23. 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 [email 

Connectez-vous à Ubuntu avec le compte de domaine et mettez à jour votre système en exécutant la commande apt update pour vérifier les privilèges root.

24. 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é. .

%domain\ [email        		 ALL=(ALL:ALL) ALL

25. Pour utiliser l'authentification de compte de domaine pour Ubuntu Desktop, modifiez le gestionnaire d'affichage LightDM en éditant /usr/share/lightdm/lightdm.conf.d/50-ubuntu. conf, ajoutez les deux lignes suivantes et redémarrez le service lightdm ou redémarrez la machine pour appliquer les modifications.

greeter-show-manual-login=true
greeter-hide-users=true

Connectez-vous à Ubuntu Desktop avec un compte de domaine en utilisant la syntaxe votre_domain_username ou votre_domain_username@your_domain.tld.

26. Pour utiliser le format de nom court pour les comptes Samba AD, modifiez le fichier /etc/sssd/sssd.conf, ajoutez la ligne suivante dans [sssd] bloc comme illustré ci-dessous.

full_name_format = %1$s

et redémarrez le démon SSSD pour appliquer les modifications.

sudo systemctl restart sssd

Vous remarquerez que l'invite bash deviendra le nom court de l'utilisateur AD sans ajouter l'équivalent du nom de domaine.

27. Si vous ne parvenez pas à vous connecter en raison de l'argument enumerate=true défini dans sssd.conf, vous devez effacer la base de données mise en cache SSD en exécutant la commande ci-dessous. :

rm /var/lib/sss/db/cache_tecmint.lan.ldb

C'est tout! Bien que ce guide soit principalement axé sur l'intégration avec un Active Directory Samba4, les mêmes étapes peuvent être appliquées afin d'intégrer Ubuntu avec les services Realmd et SSSD dans un Active Directory Microsoft Windows Server.