Red Hat et dérivées version SERVEUR

Red Hat, Alma Linux, CentOS : Faire adhérer son serveur à un domaine Active Directory

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières


Introduction



Dans cet article, nous utiliserons CentOS 7. Le domaine Windows Active Directory tourne sur Windows Server 2016 et le niveau fonctionnel est Windows 2012 R2.
Le but final est de pouvoir se connecter sur notre CentOS grâce aux comptes présents dans l'annuaire de Microsoft.
Le domaine utilisé est linuxtricks.loc et il est déjà configuré. Je n'aborde pas l'installation et la configuration du domaine.

Préparer CentOS



Dans un premier temps, installer les paquets suivants via yum :
Code BASH :
yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python

Les paquets installés permettent de contacter l'annuaire LDAP, prendre en charge Kerberos, et des outils pour effectuer des actions sur l'AD.
Il faut aussi s'assurer que le DNS sur CentOS est configuré, et pointe bien sur le contrôleur de domaine.
Si le DNS et le suffixe ne sont pas donnés par le DHCP ou qu'on est dans une configuration IP Statique :
En ligne de commande :
Code BASH :
vi /etc/resolv.conf

Code BASH :
search linuxtricks.loc
nameserver 192.168.21.222

Ou dans le ifcfg-XXX adéquat :
Code BASH :
DNS1=192.168.21.222
DOMAIN=linuxtricks.loc


Ou avec les outils graphiques dans GNOME.

Joindre CentOS au domaine Windows



On va ajouter notre CentOS au domaine via la commande realm :
Code BASH :
realm join --user=Administrateur linuxtricks.loc
Password for administrator:

Le mot de passe de l'administrateur du domaine est demandé.
Ici, j'utilise le compte administrateur, mais il suffit d'un compte possédant les droits de faire adhérer des machines au domaine.
Les fichiers /etc/sssd/sssd.conf , /etc/krb.conf et /etc/krb5.keytab seront configurés au petits oignons grâce à la commande ci-dessus.
Pour vérifier que tout est bon, on peut taper la commande
Code BASH :
realm list

On voit ici qu'on est bien dans le domaine.
Code BASH :
Edit : <ajouter le résultat de la commande> après avoir refait la vidéo

On peut constater que notre CentOS est bien dans l'AD :
Code BASH :
Edit : Remettre l'image <image AD>


Les comptes et se connecter



Connexion avec les utilisateurs



Pour vérifier les comptes qui peuvent se connecter à cette CentOS on peut utiliser la commande id :
Code BASH :
id administrateur@linuxtricks.loc

On peut observer les groupes de l'utilisateur concerné.
Remarquez que pour se connecter au domaine, il faut en effet saisir [email protected]
Pour se connecter :
Code BASH :
su - administrateur@linuxtricks.loc

Utiliser le mot de passe du compte Active Directory.
En graphique, sur l'écran de connexion GDM, on saisi dans le champ utilisateur : [email protected]

Paramétrer sssd pour ne pas utiliser le nom pleinement qualifié



On peut changer ce comportement en modifiant le fichier /etc/sssd/sssd.conf.
Par défaut :
Code BASH :
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d

On modifie en :
Code BASH :
use_fully_qualified_names = False
fallback_homedir = /home/%u

Si on souhaite prendre en compte le nouveau fichier de configuration de sssd il faut redémarrer le service :
Code BASH :
systemctl restart sssd

Maintenant on vérifie que ça fonctionne avec un compte simple :
Code BASH :
id administrateur


Configurer des groupes comme sudoers



Il suffit de créer un groupe sur le domaine AD qui s'appelle par exemple sudoers.
Ajouter vos utilisateurs dedans.
Ensuite sur la CentOS configurez sudo avec
Code BASH :
visudo

Ensuite, saisissez une ligne de ce type :
Code BASH :
%sudoers@linuxtricks.loc    ALL=(ALL)       ALL

Si vous avez un nom de groupe avec des espaces, on échappe les espaces avec l'antislash :
Code BASH :
%admins\ du\ domaine@linuxtricks.loc    ALL=(ALL)       ALL


Enregistrez et le tour est joué.
Il est possible d'utiliser un groupe par défaut déjà présent dans Active Directory.

Quitter le domaine



Si vous souhaitez retirer la CentOS du domaine, utiliser la commande :
Code BASH :
realm leave linuxtricks.loc

La machine sera retirée de l'AD et les fichiers de config sur la CentOS seront remis à leur valeur par défaut.