Red Hat, Alma Linux, CentOS : Faire adhérer son serveur à un domaine Active Directory
Table des matières
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.
Dans un premier temps, installer les paquets suivants via yum :
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 :
Ou dans le ifcfg-XXX adéquat :
Ou avec les outils graphiques dans GNOME.
On va ajouter notre CentOS au domaine via la commande realm :
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
On voit ici qu'on est bien dans le domaine.
On peut constater que notre CentOS est bien dans l'AD :
Pour vérifier les comptes qui peuvent se connecter à cette CentOS on peut utiliser la commande id :
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 :
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]
On peut changer ce comportement en modifiant le fichier /etc/sssd/sssd.conf.
Par défaut :
On modifie en :
Si on souhaite prendre en compte le nouveau fichier de configuration de sssd il faut redémarrer le service :
Maintenant on vérifie que ça fonctionne avec un compte simple :
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
Ensuite, saisissez une ligne de ce type :
Si vous avez un nom de groupe avec des espaces, on échappe les espaces avec l'antislash :
Enregistrez et le tour est joué.
Il est possible d'utiliser un groupe par défaut déjà présent dans Active Directory.
Si vous souhaitez retirer la CentOS du domaine, utiliser la commande :
La machine sera retirée de l'AD et les fichiers de config sur la CentOS seront remis à leur valeur par défaut.
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.