Le but ici est d'intégrer notre serveur GNU/Linux dans un Active Directory et d'avoir un mapping des utilisateurs et groupes de l'AD sur nos serveurs GNU/Linux.
Cet article est une mise à jour d'un vieil article de 2016, testé et validé avec un AD2019.
Nouvelle mise à jour, testé sur Debian 12 et un AD 2022
Infrastructure
L'infrastructure est assez classique :
- Un active directory sur un serveur Windows 2016 / 2019 / 2022
- un client GNU/Linux, ici en Debian 11 ou 12
Configuration de Kerberos
Installer les paquets nécessaires :
apt install krb5-user libpam-krb5
Configuration de kerberos dans le fichier /etc/krb5.conf
Mon domaine AD est GUIDTZ-WIN.LOCAL à adapter.
[libdefaults]
default_realm = GUIDTZ-WIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
GUIDTZ-WIN.LOCAL = {
kdc = srv-ad1.guidtz-win.local
admin_server = srv-ad1.guidtz-win.local
}
[domain_realm]
.domain.com = GUIDTZ-WIN.LOCAL
domain.com = GUIDTZ-WIN.LOCAL
Tester la connexion :
kinit Administrator@GUIDTZ-WIN.LOCAL
Lister les tickets obtenus :
klist
Si vous obtenez un ticket avec une date de fin de validité c'est ok pour cette partie.
Ajouter le serveur au domaine
Installer les paquets nécessaires :
apt install winbind samba
On configure Samba /etc/samba/smb.conf :
[global]
workgroup = GUIDTZ-WIN
security = ads
realm = guidtz-win.local
password server = srv-ad1.guidtz-win.local
template homedir = /home/%D/%U
template shell = /bin/bash
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
domain master = no
local master = no
prefered master = no
os level = 0
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
On redémarre tout :
systemctl stop winbind
systemctl restart smbd
Joindre le domaine :
net ads join -U Administrateur
Un message doit s'afficher disant que la machine est bien intégrée dans le domaine.
Pour vérifier :
net ads info
Il faut redémarrer maintenant Winbind :
systemctl restart winbind
Lister les utilisateurs
wbinfo -u
Afficher les groupes :
wbinfo -g
Notre serveur Linux fait partie du domaine Windows.
Mapping des utilisateurs
L'objectif ici est de mapper les utilisateurs de l'AD et du Linux.
Installer les paquets nécessaires :
apt install libnss-winbind
On modifie /etc/nsswitch.conf :
passwd: compat
group: compat
à
passwd: compat winbind
group: compat winbind
On test :
getent passwd
getent group
Configurer PAM
Installer les paquets nécessaires
apt install libpam-winbind
Mettre à jour PAM :
pam-auth-update
Cocher les cases correspondantes dont celle pour créer automatiquement les répertoires.
Pour tester :
su - gcheramy
Création du répertoire « /home/GUIDTZ-WIN/gcheramy ».
Voilà notre serveur GNU/Linux fait partie du domaine.