S'authentifier dans un domaine active directory
Objectifs
Le but de cette tips est de vous permettre de vous authentifier facilement sur un domaine Active Directory depuis une client Linux afin de pouvoir accèder à toutes les ressources (partages de fichiers, ...) grâce au système de tickets de Kerberos.
Si vous souhaitez plus d'informations sur l'authentification via Kerberos je vous renvois sur Wikipédia qui détaille très bien son fonctionnement : http://fr.wikipedia.org/wiki/Kerberos
Au final en s'authentifiant une seule fois avec son mot de passe, il sera possible avec nautilus (GNOME), konqueror (KDE), smbclient (CLI) d'accèder à tous les partages de fichiers très facilement.
Mise en place
Prérequis :
- Le package kerberos client, son nom change selon les distributions mais il se nomme généralement krb5-client ou mit-krb5.
- Un client samba supportant l'authentification kerberos
La première chose à faire est de configurer correctement le fichier /etc/krb5.conf qui contient les informations pour s'authentifier sur le REALM (domaine) Kerberos. Remplacer dans l'exemple ci-dessous les paramètres suivants :
- <ad-srv> : IP ou DNS de votre serveur Active Directory (PDC), exemple : pdc.my-dom.com
- <REALM> : Domaine Kerberos, généralement identique au Domaine DNS mais en majuscule, exemple: MY-DOM.COM
- <domain> : Domaine DNS de votre domaine Active Directory : my-dom.com
[domain_realm]Une fois cette étape terminée, vous pouvez tester cette commande :
<domain> = <REALM>
[libdefaults]
default_realm = <REALM>
dns_fallback = no
[realms]
<REALM> = {
admin_server = <ad-srv>:749
default_domain = <domain>
kdc = <ad-srv>:88
}
[v4 domain_realm]
<domain> = <REALM>
[user@linux]$ kinit login
Password for login@REALM:
Si tout se passe bien après avoir indiqué votre mot de passe, rien ne s'affiche et vous devriez voir votre Ticket Granting Ticket ( votre passeport kerberos ) en exécutant :
[root@linux]$ klist
A présent grâce à votre TGT, essayer d'accèder à un partage de votre réseau où vous devez normalement vous identifier :
[root@linux]$ smbclient -k -U login //serveur/partage
Si vous ne disposez pas de smbclient, installez le package contenant les outils clients pour samba. (samba-clients ou samba ou ... selon votre distribution)
Si tout se passe bien aucun mot de passe ne vous sera demandé puis en exécutant à nouveau la commande klist, un nouveau ticket devrait apparaître.
Kerberos et Nautilus
Si la dernière étape ci-dessus a correctement fonctionné, alors il nous faut juste s'assurer que vous disposez d'un version assez récente de :
- gnome-vfs >= 2.7.4
Kerberos et Konqueror
Pour konqueror il faudra s'assurer d'avoir :
- kdelibs >= 3.3.0
Merci à David pour son fichier de configuration krb5.conf