Intégrer un Debian GNU/Linux dans une Active Directory grâce à Samba
Cette procédure va vous permettre d'intégrer votre serveur (ou poste de travail) Linux dans un Microsoft Windows Active Directory. Cela vous permettra, par exemple, d'autoriser vos utilisateurs à se connecter à notre serveur Linux via un partage Samba et de ne pas devoir gérer les utilisateurs.
Version de Debian
La procédure ci-dessous a été testée sur un Debian GNU/Linux version 6.0
Installation de Kerberos
Windows utilise Kerberos pour authentifier les ordinateurs qui sont intégrés dans l'AD. On va installer Kerberos afin que Samba puisse communiquer avec les ordinateurs de l'AD.
# apt-get install krb5-user
Royaume « realm » Kerberos version 5 par défaut : EXAMPLE.COM
Editez le fichier /etc/krb5.conf pour qu'il corresponde à ceci :
[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = serv01.example.com admin_server = serv01.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM [login] krb4_convert = true krb4_get_tickets = false
Maintenant, on va établir une connexion Kerberos pour tester la configuration:
# kinit Administrateur@EXAMPLE.COM
Remarque : Bien respecter les majuscules sur le nom de domaine.
Si tout va bien, il doit vous rendre la main. De plus, avec la commande suivante, on doit avoir un ticket Kerberos:
# klist
Résultat de la commande:
Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrateur@EXAMPLE.COME Valid starting Expires Service principal 07/12/11 11:36:14 07/12/11 21:36:17 krbtgt/EXAMPLE.COM@EXAMPLE.COM renew until 07/13/11 11:36:14
Installation de Samba
# apt-get install samba winbind
Nom de domaine ou de groupe de travail : EXAMPLE
Editez le fichier /etc/samba/smb.conf pour qu'il corresponde à ceci :
[global] workgroup = EXAMPLE server string = %h server dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d security = ADS realm = EXAMPLE.COM password server = serv01.example.com winbind separator = \\ client use spnego = yes winbind use default domain = yes domain master = no local master = no preferred master = no winbind enum groups = yes winbind enum users = yes winbind use default domain = no idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes pam password change = yes
On redémarre Samba pour la prise en compte
# invoke-rc.d samba restart
Intégration du serveur dans l'AD
On va maintenant intégrer le serveur dans l'AD:
# net ads join -U Administrateur
Saisir le mot de passe du compte Administrateur.
Si tout va bien, on doit avoir le message suivant: Joined 'NAME' to realm 'example.com'
De même, sur le contrôleur AD, avec l'outil Utilisateurs et Ordinateurs Active Directory, on doit voir le serveur.
Winbind
Tout d'abord, on relance winbind:
# invoke-rc.d winbind restart
On va vérifier que Winbind est capable d'interroger la liste des utilisateurs et des groupes de l'AD.
# wbinfo -u # ''liste des utilisateurs''
# wbinfo -g # ''liste des groupes''
PAM
On va paramétrer le système de contrôle PAM pour qu'il recherche d'autres comptes sur le système winbind.
# vim /etc/nsswitch.conf
Ajouter l'option winbind uniquement aux 2 lignes suivantes:
passwd: compat winbind group: compat winbind
Pour vérifier la bonne configuration, on va utiliser les 2 commandes suivantes :
# getent passwd
# getent group
On doit voir des comptes de l'AD.
Conclusion
Sous Debian 6.0, le système PAM est déjà configuré.
Il est maintenant possible de se connecter au serveur en utilisant le nom d'utilisateur EXAMPLE\\username et son mot de passe.
Pour créer automatiquement le répertoire home de l'utilisateur, ajouter la ligne suivante au fichier /etc/pam.d/common-session
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
- Se connecter pour poster des commentaires