You are on page 1of 15

Interoprabilit

Authentifier les clients de Linux Active Directory


Gil Kirkpatrick

Vue d'ensemble :

Fonctionne de l'authentification dans Windows et Linux

l'aide Samba et Winbind

Stratgies d'implmentation

Parcours de la integrationItem Linux Active Directory

Contenu
L'authentification Windows
Authentification Linux
Samba et Winbind
Trois stratgies d'authentification
Notre plan d'implmentation
Recherche du logiciel droit
Construction Samba
Configuration rseau Linux
Configuration de Linux Heure synchronisation
Configuration de PAM et la fonction NSS
Installation et configuration Samba
Le problme de mappage de code
Joindre le domaine et consignation dans
Que se passe-t-il si elle ne fonctionne ?
Maintenant que son fonctionne, que vous avez ?
Solutions de tiers
Republicans et Democrats. Dentifrice et jus d'orange. Linux et Windows. Certains lments simplement dont
mlanger, droite ? Chaque usine IT je jamais t impliqu dans a t divise en deux camps : l'quipe de
Windows et l'quipe de Linux. Ils dont concurrence rellement les uns avec les autres, mais ils que ne pas
collaborer soit. En fait, certains emplacements mme atteindre jusqu'en tant que placer une ligne jaune sur le
plancher simplement pour vous absolument assurer qu'il n'y a aucune fraternization inapproprie entre les deux
groupes.

Je suis un utilisateur Windows et j'ai certainement poked laisser s'amuser sur Internet mes collgues orientes
de Linux, mais nous avons tous sont le mme objectif d'offrir haute qualit et rentables des services
INFORMATIQUES l'organisation. Une faon nous pouvons faire qui consiste partager infrastructure logicielle
de base comme Active Directory. Quasiment toutes les organisations INFORMATIQUES ont rgles sur Active
Directory pour fournir l'authentification des services leurs ordinateurs de bureau Windows et les serveurs. Au
lieu de gestion d'une infrastructure d'authentification distinct pour l'environnement Linux (ainsi qu'avec un
ensemble distinct de noms d'utilisateur et mots de passe), serait-il pas prfrable si les ordinateurs Linux
utiliss Active Directory ainsi ? Je pense que cela serait le cas, et je vous montrerai comment procder dans cet
article.

L'authentification Windows
Windows a expdies avec un systme d'authentification unique et une authentification rseau intgr pour
assez longtemps maintenant. Avant de Windows 2000, contrleurs de domaine Windows NT (contrleurs de
domaine) fournis services d'authentification pour les clients Windows l'aide du protocole NT LAN Manager
(NTLM). Bien que NTLM n'tait pas aussi scurise qu'a t initialement pens, il tait trs utile car il
maintenant rsolu le problme de devoir grer des comptes utilisateur en double sur plusieurs serveurs sur le
rseau.
partir de Windows 2000, Microsoft dplaces de NTLM vers Active Directory et ses services d'authentification
Kerberos intgrs. Kerberos tait beaucoup plus scuris que NTLM et il redimensionn mieux, trop. Et Kerberos
tait une norme dj utilise par les systmes Linux et UNIX, que vous ouvrir la porte pour intgrer les plates-
formes Windows.
Authentification Linux
l'origine, Linux (et les GNU outils et les bibliothques qui s'excutent sur elle) n'a pas cr avec un mcanisme
d'authentification unique N'oubliez pas. En raison de cela, les dveloppeurs d'applications Linux a pris
gnralement crer leur propre schma d'authentification. Ils grs accomplir cela en recherchant les noms et
les hachages de mot de passe dans etc./mot de passe (les texte traditionnel fichier contenante informations de
Linux Identification utilisateur) ou fourniture d'un mcanisme entirement diffrent (et distinct).

La multitude rsultant mcanismes d'authentification tait unmanageable. De 1995, Sun propos un


mcanisme appel (PLUGGABLE authentication modules). PAM fournit un ensemble commun d'authentification
API que tous les dveloppeurs d'applications peuvent utiliser, avec un back configure par l'administrateur fin
qu'autoris pour plusieurs schmas d'authentification enfichables. En utilisant les API du module PAM pour
l'authentification et le nom Server commutateur (NSS) API pour la recherche des informations utilisateur, les
dveloppeurs d'applications Linux peuvent crire du moins code et les administrateurs de Linux peuvent avoir
un emplacement centralis pour configurer et grer le processus d'authentification.
La plupart des distributions Linux sont fournis avec plusieurs modules d'authentification du module PAM, y
compris les modules qui prennent en charge l'authentification pour un rpertoire LDAP et l'authentification
l'aide de Kerberos. Vous pouvez utiliser ces modules pour s'authentifier sur Active Directory, mais il existe
certaines limitations significatives, que j'aborderai plus loin dans cet article.

Samba et Winbind
Samba est un projet open source qui vise une intgration entre les environnements Windows et Linux. Samba
contient des composants qui permettent de Linux ordinateurs accder aux fichier Windows et services
d'impression, ainsi que fournissent des services en fonction de Linux qui muler les contrleurs de domaine
Windows NT 4.0. Utilisez les composants clients Samba, Linux machines peuvent tirer parti des services
d'authentification de Windows fournis par Windows NT et les contrleurs de domaine Active Directory.
La partie spcifique de Samba est plus intressante nous pour ce projet est appele Winbind. Winbind est un
dmon (service de vocabulaire de Windows) qui s'excute sur les clients Samba et agit comme un proxy pour
les communications entre PAM et NSS excution sur la machine Linux et Active Directory s'excutant sur un
contrleur de domaine. En particulier, Winbind utilise Kerberos pour authentifier avec Active Directory et LDAP
pour rcuprer utilisateur et les informations de groupe. Winbind fournit galement des services
supplmentaires telles que la possibilit pour localiser les contrleurs de domaine l'aide un algorithme
similaire la DCLOCATOR dans Active Directory et la possibilit pour rinitialiser les mots de passe Active
Directory communiquer avec un contrleur de domaine en utilisant RPC.
Winbind rsout plusieurs problmes que simplement utilisant Kerberos avec PAM ne. En particulier, au lieu de
coder en dur un contrleur de domaine pour s'authentifier sur la manire que le module PAM Kerberos, Winbind
slectionne un contrleur de domaine en recherchant les enregistrements de localisateur DNS comme le module
du LOCALISATEUR de contrleurs de domaine Microsoft ne.

Trois stratgies d'authentification


tant donn la disponibilit de LDAP, Kerberos et Winbind sur les ordinateurs de Linux, il existe trois stratgies
d'implmentation diffrente que nous pouvons employer pour permettre de notre ordinateur Linux pour utiliser
Active Directory pour l'authentification.
l'aide de l'authentification LDAP La plus simple mais moins satisfaisant d'utiliser Active Directory pour
l'authentification consiste configurer PAM utiliser l'authentification LDAP, comme illustr figure 1 . Mme si
Active Directory est un service LDAPv3, les clients Windows utilisent Kerberos (avec basculement sur NTLM), pas
LDAP, pour des besoins d'authentification.
L'authentification LDAP (appele liaison LDAP) transmet le nom d'utilisateur et le mot de passe en texte clair sur
le rseau. Il s'agit non scuris et inacceptable la plupart des fins.

La figure 1 Authentification Active Directory l'aide de LDAP (cliquez sur l'image pour l'agrandir)
Pour rduire ce risque de transmettre des informations d'identification en clair, la seule consiste chiffrer le
canal de communication Directory client actif l'aide de quelque chose tels que SSL. Bien que ce soit
certainement dosable, il impose le fardeau supplmentaire de grer les certificats SSL sur le contrleur de
domaine et sur l'ordinateur de Linux. En outre, l'aide le LDAP du module PAM module ne prend pas en charge
la modification de rinitialiser ou Expiration des mots de passe.
utilisant LDAP et Kerberos Une autre stratgie pour exploiter Active Directory pour l'authentification Linux
consiste configurer PAM pour utiliser l'authentification Kerberos et la fonction NSS utiliser LDAP pour
rechercher des utilisateurs et des informations de groupe, comme illustr figure 2 . Ce schma a l'avantage
d'tre relativement plus scuris, et il exploite les capacits en la-zone de Linux. Mais cela n'est pas prendre
le parti les enregistrements DNS service emplacement (SRV) que les contrleurs de domaine Active Directory
publier, donc vous devez slectionner un ensemble spcifique de contrleurs de domaine pour s'authentifier
sur. Il n'est pas aussi offrent un moyen trs intuitif de gestion des mots de passe Active Directory arrivant
expiration ou, jusqu' ce que rcemment, pour les recherches de l'appartenance au groupe appropri.

La figure 2 Authentification Active Directory l'aide LDAP et Kerberos (cliquez sur l'image pour
l'agrandir)
l'aide de Winbind Pour utiliser Active Directory pour l'authentification Linux, la troisime consiste configurer
PAM et NSS pour effectuer des appels vers le dmon Winbind. Winbind va convertir le PAM diffrent et NSS
demande en les appels de Active Directory correspondants, utilisant LDAP, Kerberos ou RPC, en fonction de l'est
plus approprie. la figure 3 illustre cette stratgie.

La figure 3 Authentification Active Directory l'aide de Winbind (cliquez sur l'image pour l'agrandir)

Notre plan d'implmentation


En raison de l'intgration amliore avec Active Directory, J'AI choisi d'utiliser Winbind sur Red Hat Enterprise
Linux 5 (RHEL5) pour mon projet Intgration Linux Active Directory. RHEL5 est la version actuelle de la
distribution Red Hat Linux commerciale et qu'il est trs populaire dans les centres de donnes entreprise.
Obtention RHEL5 s'authentifier sur Active Directory en fait de requiert cinq tapes distincts, comme suit :

1. Recherchez et tlchargez le Samba appropri et autres composants dpendants.

2. Crer Samba.

3. Installez et configurez Samba.

4. Configurer Linux, en particulier PAM et NSS.

5. Configurer Active Directory.

Les sections suivante quelques dans cet article dcrivent ces tapes dans plus de dtails.

Recherche du logiciel droit


Une des diffrences plus importants entre Linux et Windows est que Linux se compose d'un noyau de systme
d'exploitation petit et la collection norme de composants sparment tlchargeables et installables. Cela rend
possible pour crer trs spcifique Linux configurations optimis pour certaines tches, mais il peut galement
rendre configuration et la gestion d'un serveur trs complexe. Diffrentes distributions des grer de diffrentes
manires. Red Hat (et son cousin non commercial Fedora) Utilisez Red Hat Package Manager (000) pour installer
et grer ces composants.
Composants Red Hat Linux se prsentent sous deux formes. 000 Fichiers contiennent fichiers binaires qui ont
t pre-compiled et intgres pour une combinaison spcifique de la version du composant, distribution de
Linux et architecture de processeur. Pour vous pouvez tlcharger et installer, par exemple, la version 1.3.8-5
de la commun UNIX impression systme (CUPS) conue pour Fedora version 10 s'excutant sur une architecture
Intel x 86 du processeur. tant donn qu'il y ait une douzaine diffrentes architectures processeur, distributions
Linux plus de 100 et des milliers de packages et les versions, vous pouvez voir qu'il existe un certain nombre
incroyable de RPMs binaires partir de laquelle choisir.
Source 000 fichiers contiennent d'autre part, le code source relle d'un paquet donn. La prvision est que vous
tlcharger et installer les sources, configurer les options de version et compiler et lier les fichiers binaires vous-
mme. L'ide de crer vos propres composants du systme d'exploitation est complexe pour un utilisateur
Windows utilis pour l'installation de ce que Microsoft fournit sur le CD d'installation de Windows, mais le
Gestionnaire de package rend le processus relativement simple et est fiable. Le groupe Samba libre mises
jour et correctifs de scurit un rythme furious ; dans juillet et aot 2008 seul, il existe quatre versions de
Samba 3.2, avec un total de correctifs de bogues et de scurit plus de 100. Pour ce projet, J'AI tlcharg les
sources de la dernire version stable de Samba, version 3.0.31.
Pourquoi tlcharger les sources de Samba au lieu d'un ensemble pre-compiled de fichiers binaires ? C'tait
certainement que J'AI tent faire en premier. Ce que J'AI dcouvert aprs plusieurs heures avec un dbogueur a
les binaires que J'AI tlcharg pas crs avec les options correctes pour prendre en charge l'authentification
Active Directory. En particulier, le code qui prend en charge mappage de code Linux dans Active Directory a t
dsactiv dans les versions par dfaut, donc J'AI d reconstruire Samba avec les options version approprie. Je
vais dcrire plus sur les ID de mappage plus loin dans cet article.
Mme si Linux est en mode natif un noyau MINUSCULE, la distribution Red Hat Enterprise est fourni avec
plusieurs packages prinstalls. Gnralement cela facilite vie car vous dmarrez les avec un systme
d'exploitation de travail, mais les packages qui sont prinstalls parfois en conflit avec logiciel que vous
souhaitez installer ultrieurement.
Je n'incluait pas Samba lorsque J'AI install Red Hat (normalement Samba est install par dfaut), car J'AI voulu
utiliser une version plus rcente. Toutefois, la version la plus rcente de Samba requiert des nouvelles versions
de plusieurs autres bibliothques et les utilitaires qui taient dj installs. Ces types de problmes de
dpendance sont assez ennuyeux, mais ils sont facilement rsolus l'aide la 000.
Plusieurs sites Web que packages 000 binaire ordinateur hte sont. Celui que J'AI utilis (pour aucune raison que
c'tait le premier lment que J'AI trouv) est appel PBONE, emplacement rpm.pbone. NET. Il a un moyen
pratique de recherche des packages et avait tous les fichiers binaires qui je ncessaires pour mon architecture
processeur (i386) et de systme d'exploitation distribution (Red Hat Enterprise Linux 5/Fedora 7 et 8).
J'AI d tlcharger et mettre jour les packages indiqus dans la figure 4 pour crer et installer la version 3.0
dernire de Samba (il existe une arborescence version 3.2 mme ultrieure qui J'AI n'avez pas essay). Notez
que ces packages ciblent la distribution principaux Fedora (fc). Red Hat est bas sur les sources de mmes
Fedora utilise et est totalement interoprables avec lui. Packages intgrs pour Fedora le 7 et version ultrieure
vont s'excuter sur RHEL5 sans aucune modification. Placer les fichiers 000 tlchargs dans le rpertoire
USR/src/REDHAT/RPMS.
La figure 4 paquets ncessaires pour la cration et en
installant Samba 3.0.31

Samba-3.031 0.fc8.src.rpm Source Samba 3.0.31 000

gnutls1.6.3-3.fc7.i386 TLS (Transport Layer Security) GNU bibliothques

gnutils devel-1.6.3 3.fc7.i386 Fichiers de dveloppement GNU TLS

popt-1.12 3.fc8.i386 Argument de ligne de commande Analyse des bibliothques

popt devel-1.12 3.fc8.i386 Argument de ligne de commande Analyse des fichiers de


dveloppement
cups bibliothques-1.2.12 Bibliothques systme d'impression UNIX courants
11.fc7.i386

cups devel-1.2.12 11.fc7.i386 Fichiers de dveloppement UNIX imprimante systme courants

cups-1.2.12.11.fc7.i386 Fichiers binaires systme d'impression UNIX courants

Construction Samba
La premire tape dans la construction de Samba consiste tlcharger la source approprie 000. J'AI
tlcharg la source 000 pour Samba 3.0.31 partir du site PBONE. Ensuite, placez le fichier de 000 source
tlcharg dans usr/src/REDHAT/SRPMS ; c'est le rpertoire standard pour source RPMs pendant le processus de
gnration.
Ouvrez une session Terminal Server (fentre de ligne de commande dans Windows vocabulaire) et dplacez vers
le dossier SRPMS. Que fait, installez le package source utilisant la commande, comme illustr figure 5 .

La figure 5 l'installation de la source de Samba 000 (cliquez sur l'image pour l'agrandir)
Si vous recevez l'avertissement d'erreur mockbuild utilisateur n'existe pas, l'aide de racine, ne vous
inquitez pas. Cette erreur indique que les utilitaires de gnration simulacre ne sont pas installs. Le processus
de gnration fonctionnera sans eux.
Ensuite, dplacer vers le rpertoire USR/src/REDHAT/spcifications et modifier le fichier SAMBA.SPEC, qui
contient les options de gnration Samba. Recherchez la ligne qui commence par CFLAGS = et assurez-vous
que l'option "--avec-partags-modules = idmap_ad, idmap_rid est prsent. Cette option garantit que le
processus de gnration va inclure le code qui traduit UIDs Linux (identificateurs uniques globaux) correctement
Active Directory. la figure 6 illustre cette option.
La figure 6 les avec-partags-modules crer option (cliquez sur l'image pour l'agrandir)
Ensuite, vous devrez peut-tre mettre jour certaines des bibliothques sur votre ordinateur pour crer
correctement et installer Samba ; cela dpend les versions des bibliothques se vous avez install. Dans mon
cas, J'AI d installer les packages rpertories dans la figure 4 l'aide la rpm-commande d'installation ; dans
certains cas je devais utiliser--l'option forcer pour obtenir au-del de quelques-uns des problmes de
dpendance.
Pour crer Samba, dplacer vers le rpertoire/USR / src/redhat et excutez le bb rpmbuild commande
SPECS/samba.spec, comme illustr figure 7 . Le processus laisse un fichier de 000 samba-3.0.31 0.i386
nouveau dans le rpertoire USR/src/REDHAT/RPMS. Nous installera ce fichier 000 plus loin dans le projet.

La figure 7 Cration du fichier 000 binaire Samba (cliquez sur l'image pour l'agrandir)

Configuration rseau Linux


Afin d'authentifier Active Directory, votre ordinateur Linux doit pouvoir communiquer avec un contrleur de
domaine. Vous devez configurer les trois paramtres de mise en rseau pour que cela se produise.
Tout d'abord, il est important pour vous assurer que l'interface rseau de votre ordinateur Linux est configur
correctement, en utilisant DHCP (Dynamic Host Configuration Protocol) ou en lui affectant une approprie
adresse et IP netmask l'aide de la commande ifconfig. Sous RHEL5, configurer le rseau en slectionnant
rseau dans le systme | menu Administration, comme illustr figure 8 .
La figure 8 Configuration du rseau (cliquez sur l'image pour l'agrandir)
Ensuite, assurez-vous que la rsolution DNS pour l'ordinateur Linux est dfinie pour utiliser le mme nom de
serveur DNS qui utilisent vos contrleurs de domaine ; dans la majorit des cas, il s'agit d'un DC dans le
domaine auquel vous souhaitez joindre l'ordinateur Linux, en supposant que vous utilisez DNS Active_Directory-
integrated. Vous pouvez configurer la rsolution DNS sous l'onglet DNS de l'utilitaire de configuration rseau
mme que vous permet de configurer le rseau, comme illustr figure 9 .

La figure 9 de dfinition de la rsolution DNS principale (cliquez sur l'image pour l'agrandir)
Enfin, une fois que vous avez termin ces tapes, vous devez dfinir le nom ordinateur hte de l'ordinateur
Linux pour reflter son nom dans le domaine. Mme si vous pouvez dfinir le nom ordinateur hte l'aide de
l'application de configuration rseau, cela ne semble pas toujours fonctionner correctement.
Au lieu de cela, modifiez le /etc/htes fichier directement et ajouter une entre sous l'entre de
localhost.localdomain a la forme < adresse ip > <fqdn> < nom ordinateur hte >. (Un exemple serait
10.7.5.2 rhel5.linuxauth.local linuxauth .) J'AI doivent noter que cela va provoquer la cration d'un objet
ordinateur incorrect dans le rpertoire une fois que vous joignez l'ordinateur Linux dans le domaine des.

Configuration de Linux Heure synchronisation


Le protocole Kerberos dpend les systmes d'authentification des horloges sont synchronises dans une valeur
relativement petite. Par dfaut, Active Directory autorise un maximum temps biaiser de cinq minutes. Pour
garantir que vos systmes Linux et systme de vos contrleurs de domaine horloges dpasser cette valeur,
vous devez configurer vos systmes Linux pour utiliser le service NTP (Network Time Protocol) d'un contrleur
de domaine.
Ensuite, sur le serveur Linux, excutez l'utilitaire Date et heure dans le systme de | menu Administration, puis
cliquez sur l'onglet Network Time Protocol. La case Activer Network Time Protocol, puis ajoutez l'adresse IP du
contrleur de domaine utiliser comme source de temps rseau. Notez que cela doit gnralement tre le DC
dans le domaine qui dtient le rle principal de domaine contrleur mulateur FSMO (Flexible Single Master
Operations). la figure 10 est un exemple de comment dfinir la source de temps rseau Linux.

La figure 10 Configuration du protocole de temps rseau (cliquez sur l'image pour l'agrandir)

Configuration de PAM et la fonction NSS


PAM et NSS fournissent le collage entre une application Linux, telle que le bureau et Winbind. Comme de
nombreux services Linux, vous configurez PAM et NSS via des fichiers texte. Nous allons voir Configuration du
module PAM tout d'abord.
PAM fournit quatre fonctions lies l'authentification pour les applications qui l'utilisent. La fonctionnalit
d'authentification permet une application dterminer qui est l'utilise. La fonction compte offre compte fonctions
de gestion qui ne sont pas spcifiquement lies l'authentification, comme restriction de temps de
connexion. La fonctionnalit de mot de passe fournit des mcanismes pour qu'elles demandent et la gestion des
mots de passe. La fonctionnalit de session excute paramtrage related l'utilisateur et les tches vers le bas
de coupe pour l'application, telle que la journalisation ou la cration de fichiers dans un rpertoire spcifique
l'utilisateur.
PAM sous Red Hat stocke ses fichiers de configuration dans le rpertoire /etc/pam.d, qui contienne un fichier
texte pour chaque application qui utilise du module PAM pour l'authentification. Par exemple, le /etc/pam.d/gdm
fichier contient des informations de configuration du module PAM pour Gnome bureau Gestionnaire (GDM),
l'environnement de fentrage par dfaut de Red Hat. Chaque fichier de configuration du module PAM contient
plusieurs lignes, avec chaque ligne de dfinir un aspect du module PAM processus d'authentification. figure
11 illustre le contenu de la PAM fichier de configuration pour GDM.

La figure 11 fichier de configuration du module PAM pour Gnome le Gestionnaire de Bureau (cliquez
sur l'image pour l'agrandir)
Chaque entre dans un fichier de configuration du module PAM comporte l'cran < groupe de gestion >
<control> <module> <parameters>, o < groupe de gestion > correspond la fonctionnalit de l'entre de
configuration se rapportant : authentification, compte, mot de passe ou session. Les mots-cls de contrle, qui
dcrit dans la figure 12 , indiquent PAM comment traiter l'entre de configuration. La troisime colonne du
fichier contient le nom d'une bibliothque partage du module PAM dans le rpertoire /lib/security. Bibliothques
partages contiennent dynamiquement chargeables excutable code, similaire la DLL dans Windows. Termes
supplmentaires aprs le nom du module sont des paramtres qui PAM transmet la bibliothque partage.
La figure 12 PAM contrle mots-cls

Mot cl Description

Requis Si le module russit, PAM continue d'valuer les autres entres pour le groupe de gestion et
le rsultat sera dtermin par les rsultats des autres modules. Si le module choue, PAM
continue d'valuation mais renvoie chec l'application appelante.

Requis Si le module russit, PAM continue valuer les entres de groupe de gestion. Si le module
choue, PAM renvoie l'application appelante avec aucun traitement ultrieur.

Suffisant Si le module russit, PAM renvoie succs l'application appelante. Si le module choue,
e PAM continue d'valuation, mais le rsultat sera dtermin par les modules suivants.

Facultatif PAM ignore les rsultats du module, sauf s'il s'agit le module uniquement spcifi pour le
groupe de gestion.

Inclure PAM inclut le contenu du fichier configuration du module PAM rfrenc et traite les
critures qu'il contient.

Vous pouvez le voir que chaque groupe de gestion comporte plusieurs critures. PAM traite les critures dans
l'ordre en appelant le module nomm. Le module renvoie ensuite soit russite ou l'chec et PAM se poursuit en
fonction sur le contrle de mot cl.
Vous remarquerez que le fichier de configuration du module PAM pour GDM inclut systme-authentification de
tous ses groupes de gestion. Voici comment PAM tablit l'authentification par dfaut pour GDM. En modifiant
l'authentification par le systme, vous pouvez modifier le comportement d'authentification pour toutes les
applications qui inclut le fichier systme-authentification dans leurs configurations du module PAM. Le fichier
systme-authentification par dfaut est illustr figure 13 .
La figure 13 fichier systme-authentification PAM (cliquez sur l'image pour l'agrandir)
Le module NSS (name service switch) masque les spcificits du systme de stockage de donnes au
dveloppeur d'applications, en grande partie de la mme faon que PAM masque les dtails de
l'authentification. NSS permet l'administrateur spcifiez que bases de donnes systme moyen sont
stocks. En particulier, l'administrateur peut spcifier comment le nom d'utilisateur et mot de passe les
informations est stocke. Car nous souhaitons applications pour rechercher des informations utilisateur dans
Active Directory l'aide de Winbind, nous devons modifier le fichier de configuration de NSS pour afficher que.
Red Hat inclut une petite applet graphique pour configuration du module PAM et la fonction NSS appel
systme-configuration d'authentification. Il s'occupe de plus (mais pas toutes) des modifications que vous
souhaitez apporter aux fichiers systme-authentification et nss.conf.
Excutez l'application d'authentification de configuration systme et vous voyez une bote de dialogue telle que
celle illustre la figure 14 . Cochez l'option Winbind sur l'onglet utilisateur (ce qui configure le fichier
nss.conf) et l'onglet Authentification (qui modifie le fichier systme-authentification).

La figure 14, la bote de dialogue systemconfig-authentification


Cliquez sur le bouton Configurer Winbind et vous verrez la bote de dialogue dans la figure 15 . Entrez le nom
de domaine des utilisateurs s'authentifient dans le champ domaine Winbind et slectionnez annonces
comme le modle de scurit. Entrez le nom de domaine DNS du domaine Active Directory dans le champ
domaine ADS Winbind. Dans le champ Winbind les contrleurs de domaine, entrez le nom d'un contrleur de
domaine vous souhaitez que ce systme Linux s'authentifier auprs d'ou un astrisque, indiquant que Winbind
doit slectionner un contrleur de domaine en interrogeant les enregistrements SRV DNS.
La figure 15 bote de dialogue Configuration Winbind
Slectionnez l'interface de commande par dfaut approprie vos utilisateurs d'Active Directory doivent
possdent ; dans ce cas, J'AI slectionn Mirwault nouveau gros ou fte. N'essayez pas ce stade du bouton
rejoindre domaine . Vous joignez l'ordinateur au domaine plus tard.
Une plus modification est apporte apporter au fichier /etc/pam.d/system-auth une fois que vous avez modifi
pour prendre en charge Winbind. Lorsqu'un utilisateur de Linux se connecte, le systme ncessite que les
utilisateurs disposent un rpertoire de base. Le rpertoire de base contient de nombreux prfrences
spcifiques de l'utilisateur et les lments de configuration, comme le Registre Windows. Le problme est que
tant donn que vous crez vos utilisateurs dans Active Directory, Linux n'est pas automatiquement crer le
rpertoire de l'utilisateur domestique. Heureusement, vous pouvez configurer PAM pour cela dans le cadre de sa
configuration de session.
Ouvrez le fichier /etc/pam.d/system-auth, puis faites dfiler vers le bas et insrez une ligne avant la dernire
ligne dans la section session qui lit " session map_mkhomedir.so facultatif skel = / etc./skel umask = 0644"
(voir figure 16 ). Cette ligne configure PAM pour crer un rpertoire personnel pour un utilisateur s'il n'existe. Il
va utiliser le rpertoire/etc/skel qu'un squelette ou un modle et il va affecter le masque d'autorisations
0644 (en lecture et criture pour propritaire, en lecture pour le groupe principal et en lecture pour tout le
monde) vers le nouveau dossier.

La figure 16 Cration d'un rpertoire de base pour les utilisateurs (cliquez sur l'image pour l'agrandir)

Installation et configuration Samba


Pour installer les fichiers binaires Samba que vous venez de crer, accdez au rpertoire
USR/src/REDHAT/RPMS. Tous les fichiers 000 crs par la commande rpmbuild apparat dans ce
rpertoire. N'oubliez pas que Samba inclut binaires qui permet un client Linux accder un partage de fichiers
Windows (ou Samba), ainsi que de code qui permet un systme de Linux comme un serveur de fichiers
Windows, un serveur d'impression Windows et un contrleur de domaine 4.0 style Windows NT.
Il n'est pas ncessaire tout cela pour autoriser Linux pour s'authentifier sur Active Directory ; il nous fait sont les
fichiers communs Samba et les fichiers binaires client Samba. Ces fichiers sont facilement en divises en deux
000 fichiers : samba client-3.0.31 0.i386.rpm et samba commun-3.0.31 0.i386.rpm. Installer les fichiers 000
l'aide la rpm-commande d'installation. Voici un exemple : rpm--installation samba commun-3.0.31
0.i386.rpm. (Notez que vous devrez peut-tre installer tout d'abord le fichier 000 common.)
Lorsque vous avez install les fichiers binaires client Samba, vous devez modifier la configuration de Samba par
dfaut pour vous assurer que Winbind gre l'authentification correctement avec Active Directory. Toutes les
informations de configuration Samba (client et serveur) peuvent trouver dans le fichier texte smb.conf, qui se
trouve dans le rpertoire/etc / samba par dfaut. Smb.conf peut contenir un nombre norme d'options de
configuration et une explication complte de son contenu est aborde dans cet article. Le site samba.org et les
pages homme Linux abordent smb.conf certains en dtail.
La premire tape consiste configurer Winbind pour utiliser Active Directory pour l'authentification. Vous
devez dfinir le modle de scurit dans smb.conf aux annonces . L'utilitaire de configuration du systme-
l'authentification doit avoir configur cette sur vous dj, mais il est toujours utile de vrifier. Modifier la
smb.conf fichier et recherchez la section intitule options membres de domaine. Recherchez la ligne qui
commence par scurit et assurez-vous qu'il lit " scurit = annonces . La prochaine tape de configuration
dtermine comment Winbind mappera entits de scurit Windows tels que les utilisateurs et groupes aux
identificateurs de Linux et qui ncessite quelques explications plus.

Le problme de mappage de code


Il existe un gros problme que n'ont pas mentionn encore avec l'authentification des utilisateurs Linux Active
Directory, et c'est le problme de UIDs pour les utilisateurs et groupes. En interne, ni Linux ni Windows faire
rfrence utilisateurs par un nom utilisateur ; au lieu de cela qu'ils utilisent un identificateur interne
unique. Windows utilise le identificateur de scurit, ou le SID, qui est une structure de longueur variable qui
identifie chaque utilisateur dans un domaine Windows. Le SID contient galement un identificateur unique du
domaine afin que Windows peut distinguer entre les utilisateurs dans des domaines diffrents.
Linux est un jeu beaucoup plus simple. Chaque utilisateur sur un ordinateur Linux possde une UID qui est
simplement un entier de 32 bits. Mais la porte de l'UID est limite l'ordinateur lui-mme. Il n'existe aucune
garantie que l'utilisateur avec l'UID 436 sur une machine Linux est le mme que l'utilisateur avec l'UID 436 sur
un autre ordinateur Linux. Par consquent, un utilisateur aura pour vous connecter chaque ordinateur, il doit
accder, clairement pas une situation souhaitable.
Gnralement, les administrateurs rseau Linux rsolvent ce problme en fournissant l'authentification rseau
l'aide NIS (Network Information System) ou un rpertoire LDAP partag. Le systme d'authentification rseau
fournit l'UID de l'utilisateur et tous les ordinateurs Linux qui utilisent ce systme d'authentification partagent les
mme utilisateur et les identificateurs de groupe. Dans ce cas, je vais utiliser Active Directory pour fournir
l'utilisateur unique et les identificateurs de groupe.
Il existe deux stratgies que je peux utiliser pour rsoudre ce problme. La stratgie de premier et galement
plus vident consiste crer un UID pour chaque utilisateur et un groupe et stocker cet identificateur avec
l'objet correspondant dans Active Directory. Ainsi, lorsque Winbind authentifie un utilisateur, elle peut chercher
l'UID de l'utilisateur et fournir Linux comme identificateur interne de l'utilisateur. Winbind fait rfrence ce
schma que Active Directory ID mappage ou idmap_ad. la figure 17 illustre le processus de mappage de code
d'Active Directory.

La figure 17 mappage des ID de rpertoire Active (cliquez sur l'image pour l'agrandir)
L'inconvnient uniquement au mappage de code d'Active Directory est que nous avons fournir un mcanisme
pour vrifier que chaque utilisateur et de groupe a un identificateur, et que ces identificateurs sont tous uniques
dans la fort. Pour plus d'informations, consultez l'encadr, configuration Active Directory pour Active
Directory ID de mappage, .
Heureusement, il est une autre stratgie de mappage code dont beaucoup moins tches
administratives. N'oubliez pas que les SID Windows identifie uniquement l'utilisateur dans un domaine, ainsi que
le domaine lui-mme. La partie du SID qui identifie l'utilisateur dans le domaine est appele l'identificateur
relatif ou RID et est en fait un entier de 32 bits. Par consquent, Winbind pouvez tout simplement extraire le RID
le SID lorsque l'utilisateur se connecte, puis utiliser le RID en tant que l'UID interne unique. Winbind fait
rfrence cette stratgie que RID mappage ou idmap_rid. la figure 18 illustre comment RID mappage
fonctionne rellement.

La figure 18 RID mappage (cliquez sur l'image pour l'agrandir)


Mappage RID prsente l'avantage de zro surcharge administrative, mais vous ne pouvez pas l'utiliser dans un
environnement multi-domaine en raison de la probabilit d'utilisateurs dans des domaines diffrents ayant la
mme valeur RID. Mais si vous disposez d'un seul domaine Active Directory, mappage matre RID est la faon
d'accder.
Pour configurer la stratgie de mappage de code Winbind, modifier le fichier /etc/samba/smb.conf nouveau et
ajoutez la ligne " idmap back-end = annonce pour utiliser la stratgie de mappage Active Directory, ou "
idmap back-end = se dbarrasser si vous souhaitez utiliser la stratgie de mappage de RID. N'assurez-vous
qu'aucuns les autres lignes spcifiant la stratgie de mise en correspondance dans le fichier.
Il y a quelques autres options de configuration que nous devons ajouter au fichier smb.conf pour Winbind. Mme
si nous avons dfini PAM puisse le rpertoire de base pour chaque utilisateur lors de leur connexion, nous devez
indiquer Winbind que le nom du rpertoire de base est. Nous ce faire, ajouter la ligne modle homedir =
/home/%U smb.conf (voir figure 19 ). Ceci indique Winbind que le rpertoire de base pour chaque
utilisateur s'authentifie l'aide d'Active Directory sera /home/ < nom utilisateur >. Veillez crer le /home
rpertoire au pralable.

La figure 19 spcification le nom de rpertoire de base (cliquez sur l'image pour l'agrandir)

Joindre le domaine et consignation dans


Maintenant que le rseau, PAM NSS et Samba Winbind sont tout configur correctement, il est temps pour
joindre l'ordinateur de Linux au domaine. Pour cela, vous en utilisant la commande NET Samba. l'invite
interprteur de commandes, excutez net annonces jointure U < nom de l'administrateur > . Remplacez <
nom de l'administrateur > par le nom d'un compte qui dispose des privilges suffisants pour joindre un
ordinateur au domaine.
La commande net vous invitera entrer le mot de passe de l'utilisateur. Si tout fonctionne correctement, la
commande net connecter votre ordinateur au domaine. Vous pouvez utiliser utilisateurs et Active Directory
ordinateurs pour rechercher le compte d'ordinateur nouvellement cr.
Vous pouvez tester l'tat de la jointure avec l'outil de test Winbind appel wbinfo. En cours d'excution t wbinfo
va tester la relation d'approbation entre l'ordinateur et le domaine. En cours d'excution u wbinfo affiche tous
les utilisateurs du domaine et wbinfo g rpertorie tous les groupes.
Si vous joignez correctement l'ordinateur de Linux au domaine, l'tape suivante consiste essayer pour vous
connecter avec un compte d'utilisateur Active Directory et un mot de passe. Session l'ordinateur de Linux et
connectez-vous l'aide un nom d'utilisateur Active Directory. Si tout fonctionne correctement, vous devez
pouvoir se connecter.
Configuration d'Active Directory pour Active Directory ID mappage
Ces informations s'appliquent uniquement si vous utilisez mappage de code d'Active Directory. Si vous avez
dcid d'utiliser le mappage matre RID, n'hsitez pas ignorer cet encadr.
Avant de pouvoir dmarrer connexion votre serveur Red Hat en utilisant un compte Active Directory, vous
devez apporter des modifications Active Directory lui-mme. Tout d'abord, le schma Active Directory doit
prendre en charge les attributs qui Winbind utilise pour stocker les informations utilisateur. Si vous excutez
Windows Server 2003 R2, le schma est prt passer. Si vous possdez une version antrieure du schma
Active Directory, vous devrez prolonger l'aide des services Microsoft pour package UNIX (SFU).
Pour en savoir plus sur Services pour UNIX sur TechNet . SFU inclut galement une page de proprits
supplmentaires pour les utilisateurs et Active Directory et MMC (Microsoft Management Console) ordinateurs
enfichable qui vous permet de grer le code utilisateur les informations de code de groupe qui ncessite de
Linux.
Une fois que le schma est correctement configur, vous devez fournir les identificateurs de Linux pour tous les
utilisateurs (et les groupes auxquels ils appartiennent) qui peuvent se connecter votre ordinateur Linux. Cela
signifie que vous avez dfinir les valeurs des attributs uidNumber et gidNumber des utilisateurs et groupes qui
peuvent se connecter vos ordinateurs Linux. Mais il faut connatre certaines exigences pour ces attributs :

1. Linux ncessite un UID pour chaque utilisateur qui authentifie. tant donn que vous souhaitez grer les
informations utilisateur dans Active Directory, chaque compte d'utilisateur qui s'ouvrent une session
dans sur un ordinateur Linux doit disposer un attribut uidNumber unique. La valeur spcifique vous
utilisez pour un uidNumber n'est pas importante, mais il doit tre unique dans tous les utilisateurs
peuvent se connecter l'ordinateur de Linux.

2. Chaque utilisateur Linux doit galement disposer un identificateur de groupe par dfaut, pour chaque
utilisateur Active Directory qui va se connecter un ordinateur Linux requiert une valeur de l'attribut
gidNumber ainsi. Cette valeur ne doit tre unique parmi les utilisateurs, mais il doit identifie le groupe.
3. Chaque groupe dans Active Directory doit avoir une valeur unique pour son attribut
gidNumber. Proprement parler, il est OK pour les groupes pour ne pas qu'une valeur de l'attribut
gidNumber, alors Winbind attend, lorsqu'il authentifie un utilisateur, que chaque groupe laquelle cet
utilisateur est membre aura une valeur unique gidNumber. Il est probablement plus facile simplement
pour vous assurer que chaque groupe contient une valeur unique gidNumber.

4. Winbind s'attend ce que chaque utilisateur qu'il recherche dans Active Directory est membre du
groupe Utilisateurs du domaine, donc il attend galement que le groupe Utilisateurs du domaine a une
valeur pour son attribut gidNumber.

Que se passe-t-il si elle ne fonctionne ?


Configuration d'un ordinateur Linux pour s'authentifier avec Active Directory l'aide de Winbind n'est pas un
trivial projet. Il existe beaucoup d'lments pour configurer et beaucoup d'lments qui peuvent se tromper
lorsque l'on. Le fait que chaque version de Linux et chaque version de Samba sont quelque peu diffrents n'est
pas aider important. Mais il existe quelques endroits que vous pouvez consulter pour dterminer ce qui se
passe.
Tout d'abord, il est le fichier journal de systme de Linux, qui se trouve dans le journal/var/messages. Samba
placera les messages dans ce fichier pour les vnements significatives tels que les fichiers manquants ou la
configuration incorrecte. Outre le fichier journal systme, il existe galement les fichiers journaux de Samba et
Winbind. Vous pouvez trouver dans le journal/var/Samba, et il fournira vous avec des informations
supplmentaires.
Vous pouvez augmenter le dtail (et le volume) des messages journal mis par Winbind en modifiant le script de
dmarrage pour dfinir le niveau de dbogage. Modifier le script d'environnement /etc/init.d/winbind et ajouter
-d 5 la commande winbindd. Cela augmentera le niveau de dbogage 5 (valeurs autorises sont
comprises 1 et 10), qui entrane winbind gnrer des messages d'erreur plus dtaills.
Si Winbind devient de loin que la communication avec un contrleur de domaine, vous pouvez excuter un
utilitaire de capture de paquets rseau tel que NetMon 3.1. Cela vous permet d'analyser exactement ce que
Winbind tente faire. Et vous pouvez galement inspecter le journal de scurit Windows sur le contrleur de
domaine qui s'affichent les tentatives d'authentification.

Maintenant que son fonctionne, que vous avez ?


Si vous avez russi obtenir tout pour travailler, vous avez dsormais la possibilit pour vous connecter votre
systme de Linux avec les informations d'identification que vous tenez jour dans Active Directory. Cela
constitue une amlioration norme sur gestion des identits localement sur l'ordinateur de Linux ou utilisez un
systme non scuris tels que NIS. Il vous permet de centraliser votre gestion de l'utilisateur sur un stockage
d'identit : Active Directory.
Mais il y a plusieurs choses sont manquants pour rendre cette solution rellement utile. Tout d'abord, l'obtention
de support technique est un peu d'une opration hit-or-miss. La plupart des organisations de Linux sont
lgrement en le fonc lorsqu'il est fourni Active Directory et le support que vous pouvez obtenir auprs de la
communaut Linux dpend entirement qui se produit lire votre billet d'et comment ils vous ce jour.
Il existe galement sans outils de migration ou de dploiement avec Samba. Si vous avez existants comptes
Linux avec leurs noms d'utilisateurs associs et les autorisations, vous devrez manuellement s'assurer qu'ils
grent leurs UIDs lorsque vous migrez vers Active Directory.
Enfin, une des plus importantes applications Active Directory, stratgie de groupe, n'est pas encore disponible
avec Samba, bien qu'il soit en le fonctionne. Bien que vous pouvez joindre un systme de Linux Active
Directory avec Samba, vous ne pouvez pas grer l'aide de stratgie de groupe.

Solutions de tiers
Authentifier les ordinateurs de Linux Active Directory est clairement une bonne Thing, mais rpercussion votre
propre solution utilisant Winbind Samba est fastidieux si pas parfois pnible. Vous semblerait normal, puisque
certains fournisseurs de logiciels novateur serait tape haut avec une solution easier-to-use, et vous serait
droite.
Il existe quatre fournisseurs de logiciels commerciaux qui ont dvelopp des versions facile installer-et-
utilisation de ce qu'ai j'dmontr dans cet article. Ils fournissent les code et les outils de migration pour presque
toutes version populaires de Linux, UNIX et Macintoshes Apple, ainsi que prise en charge de gestion des
ordinateurs de Linux l'aide de la stratgie de groupe.
Les socits quatre sont Centrify , De mme logiciel , Quest Software et Symark . Tous les fournisseurs de quatre
fournissent des fonctionnalits similaires, notamment la gestion de stratgie de groupe, sur un large ventail de
distributions Linux. Logiciel Likewise a rcemment dont la source est en cours son implmentation, appele
mme ouvrir, bien que son composant de stratgie de groupe reste un produit commercial. De mme ouvrir est
disponible avec plusieurs distributions Linux principales. (Complet divulgation : pendant au cours de rdaction
cet article, ma socit, NetPro, a t acquis par Quest Software.)
Il judicieux de crer votre propre systme de l'authentification l'aide de Samba et Winbind lorsque
commerciales options sont disponibles ? Si justesse Intgration logiciel ne figure pas dans le budget, puis passer
l'itinraire open source avec Samba prsente l'avantage d'tre libre. Vous galement obtenir tout le code
source, qui peut tre un avantage intressant. Mais migration de Linux existant ordinateurs et leurs UIDs
existants est un problme trs thorny.
D'autre part, si vous souhaitez gagner du temps d'installation et l'implmentation, vous avez existants
machines Linux que ncessaires la migration, ou vous auriez plutt une personne appeler pour obtenir une
rponse faisant autorite votre question, puis extraction d'une des solutions commerciales sens. Et si vous
devez Gestion de stratgie de groupe, L'alternative commercial est votre seul choix.
Mais n'importe quel moyen vous accdez, intgration de l'authentification de Linux Active Directory rduit
l'effort pass grer plusieurs comptes d'utilisateur, amliore la scurit du systme et vous offre un stockage
d'identit unique pour grer et d'audit. Et ceux sont toutes raisons trs intressantes pour lui donner un essai.

Gil Kirkpatrick a conu ou dvelopp des dizaines de produits logiciels commerciaux russi dans sa carrire 30
ans et il est le fondateur de la confrence experts Directory (dsormais appels les experts Conference). Gil est
l'auteur de Active Directory Programming et est une collaboration frquemment Windows IT Pro et le TechNet
Magazine. Dans son rle actuel comme expert de rsidence NetPro (dsormais partie de Quest Software), Gil
consulte de scurit divers, identit et projets de marketing et parle au sminaires de technologie et les
confrences dans le monde entier.

2017 Microsoft

You might also like