Installer Active Directory sur Microsoft Server 2012 Intégrer un poste Linux dans AD Par LoiselJP Le 28/09/2013 (Rev. 30/11/2013)
1 Objectifs Dans un tutoriel précédent il a été traité la manière de créer un Contrôleur de Domaine Principal (CPD) sous Linux puis la manière d y intégrer un client Windows. Le choix pour la création et l utilisation d un CPD sous Linux répond principalement à une raison financière. Lorsqu une société fait le choix de mettre en place un CPD depuis une solution Microsoft Server, la raison est différente. Cependant il arrive assez souvent d utiliser parallèlement un server Linux, un choix qui peut-être lié à la stabilité, la fiabilité Le sujet inverse : Créer un CPD Microsoft Server et y intégrer des postes Linux se pose beaucoup moins. Mais comment réaliser cette action? C est ce que ce petit tutoriel va s efforcer d expliquer. L intégration d un poste Linux dans un AD n est qu une question de quelques commandes. Avec de larges explications, cette action tiendra sur quelques pages. Afin d apporter une consistance concrète à ce document, l intégration sera traitée pour une version 2012 de Microsoft Server. 2 A propos d Active Directory Dans les anciennes versions de Windows Server, on parlait plus facilement de LDAP. Active Directory (AD) est destiné à fournir un ensemble de services centralisés dans le but de pouvoir gérer les identifications et authentifications de tout objet dans un réseau d'ordinateurs utilisant Windows. Tout étant considéré comme objet (Utilisateurs, Machine, groupes ), AD permet l'application de stratégies à l ensemble de ces objets. Avec AD est apparue une nouvelle notion : la stratégie de groupe. Le service d'annuaire Active Directory est apparu avec Windows 2000 Server et est devenu l une des bases de connaissance indispensable à tout administrateur. Un serveur informatique hébergeant l'annuaire Active Directory est appelé «contrôleur de domaine». Ce contrôleur de domaine pourra être Contrôleur de Domaine Principal (CPD) ou secondaire. Les données de l Active Directory sont contenues dans une base de données centralisée. Ce tutoriel, tout en restant dans l axe qu il s est fixé : Intégrer un poste Linux dans un AD, s attardera quelques pages sur l installation d Active Directory sur un serveur Microsoft Server 2012. Administration server page 2/62
3 Sommaire 1 Objectifs... 2 2 A propos d Active Directory... 2 3 Sommaire... 3 4 Prérequis... 4 5 Installer AD et configurer le Serveur... 6 Nommer ou renommer le serveur... 6 Installer Active Directory... 9 Pré-requis pour une installation sans souci... 9 Ajouter le rôle... 12 Passer le serveur en Contrôleur de Domaine Principal... 17 6 Créer les utilisateurs, groupes... 22 Injecter une liste d utilisateurs depuis un fichier CSV... 26 A propos de PowerShell... 33 7 Passer un client Windows dans le domaine... 34 Configurer au besoin la passerelle et/ou les DNS... 35 Attention au piège... 35 Placer les DNS correctement sur le client... 36 Fixer le domaine... 37 Sortir un client du domaine... 43 8 Passer un client Linux dans le domaine... 44 Configurer les DNS ou une adresse IP fixe... 45 Ajouter le serveur dans resolv.conf : erreur ou pas?... 46 Placer les DNS dans la configuration de carte... 48 Joindre au domaine... 50 Installer les pré-requis... 51 Pourquoi Ntpdate... 52 Configurer Samba... 54 Intégration au domaine... 56 Terminer la configuration... 56 Se connecter... 59 Améliorer le profile... 60 9 Conclusion... 60 Propriété... 62 Licence... 62 Administration server page 3/62
4 Prérequis Ce tutoriel à principal objectif de montrer et d aider à l intégration d un poste Linux sur un contrôleur de domaine Active Directory. Il n est nullement question de traiter de l installation de Linux et moins encore de l installation de Windows 2012 Server. Ce tutoriel va expliquer : - L installation d AD sur Windows 2012 server, - L intégration d un poste Windows (Windows 8.1 pro) dans AD, - L intégration d un poste Linux Ubuntu dans AD, - L intégration d un poste Linux Fedora dans AD. - Il est donc nécessaire de disposer d un poste installé en Windows Server, 2012 pour le tutoriel, mais l installation d AD est très proche sur les versions 2008/2008R2 ou 2012R2 - Il est ensuite nécessaire de disposer d un poste client Windows professionnel (peu importe la version, le passage «dans le domaine» est identique sur toutes les versions). - Pour réaliser l intégration dans le domaine d un poste Linux, il va de soit qu il faudra disposer d un poste linux. - Il est pris ici 2 version l un à base de Debian (Ubuntu), l autre à base de Red-Hat (Fedora) le but étant de montrer que l intégration est identique sur la très grande majorité des distributions Linux (les versions «Exotiques» pourront quelque peu se différencier. Ne demandant que très peu de ressources (en dehors d avoir 2 systèmes lancés simultanément), l opération pourra se faire sur machine virtuelle, si le poste hôte supporte la virtualisation matérielle, dans le cas contraire, 2008 server 32bits fera très bien l affaire! Ce tutoriel, commence dès lors ou les différents postes viennent d être installé et dont l accès réseau a été confirmé. Administration server page 4/62
Windows Server 2012 Windows 8.1 Administration server page 5/62
Ubuntu (KDE) Fedora (KDE) Il ne reste plus qu à se mettre au travail 5 Installer AD et configurer le Serveur Nommer ou renommer le serveur Un serveur se renomme comme tout poste de travail sur les versions 2012 Server, y compris en contrôleur de domaine. Administration server page 6/62
Un clic droit en bas à gauche ouvre le menu contextuel, il suffira de choisir «Système» Puis «Modifier les paramètres» Encore une fois «Modifier» Administration server page 7/62
Pour enfin pouvoir modifier le nom Pour valider, redémarrer le serveur. Les versions plus anciennes (avant 2008 server) demandaient l utilisation des commandes «netdom» netdom renamecomputer nom_actuel /NewName : nouveau_nom Administration server page 8/62
Avant intégration dans le domaine cette action sera plus facile Installer Active Directory Pré-requis pour une installation sans souci Dans ce chapitre le rôle Active Directory va être installé sur le serveur «Loisel-CPD» (vous avez le droit d utiliser un autre nom votre serveur). Avant de l installer, il est nécessaire de placer un mot de passe, sans mot de passe le rôle ne sera pas Administration server page 9/62
installé (vous êtes prévenu). «ctrl+alt+supp» Il est nécessaire de mettre un mot de passe fort (c est un serveur!) Il s agit d un serveur une IP fixe, bien que cela ne soit pas totalement indispensable peut éviter quelques désagréments d autant que le serveur de DNS sera installé par la suite Là encore bien qu il s agisse d un serveur la configuration de la carte réseau se fait comme sur tout autre PC Administration server page 10/62
Administration server page 11/62
On valide avant de passer à la suite. Ajouter le rôle Il s agit du service de domaine Active Directory Son installation ne demande rien de particulier. D autant que par défaut le gestionnaire du serveur est affiché. Si ce n est pas le cas, un lien est disponible Au pire, le panneau de configuration (clic droit en bas à gauche), proposera les «Outils d administration» et le gestionnaire de serveur. Administration server page 12/62
Active Directory est un rôle, il suffit donc d ajouter un rôle! Après une petite information sur l assistant, effectuer une «Installation basée sur un rôle ou une fonnctionnalité» L installation s effectuera sur le serveur lui-même Administration server page 13/62
Un peu de lecture indiquera quel rôle choisir En sélectionnant le rôle il se pourra (certainement) qu un nombre de fonctionnalités supplémentaires soient nécessaire. Administration server page 14/62
Bien que non obligatoire (dans le texte) il est fortement conseillé d installer le serveur de DNS avec Active Directory (sauf si vous détenez votre propore serveur de DNS et que le serveur destiné a recevoir AD soit enregistré dessus ). La aussi des fonctionnalités pourront être nécessaires Administration server page 15/62
Si une adresse IP fixe n a pas été déterminé précédemment, un message d avertissement (ce n est pas une obligation) vous indiquera que certains soucis peuvent survenir par la suite Suivant le besoin il sera possible ensuite d y ajouter d autres fonctionnalités Sinon passer à la suite Confirmer puis installer. Administration server page 16/62
Il suffira de laisser dérouler l installation Passer le serveur en Contrôleur de Domaine Principal Sur les dernières versions d Active Directory, après installation, le serveur n en est pas pour autant contrôleur de domaine. Il sera nécessaire de le Promouvoir (promo) Contrôleur de Domaine (dc). Pour cela on utilise la commande «dcpromo» (trop compliqué à retenir..!) : Les versions plus anciennes de Windows serveur pouvaient utiliser la commande directement lancée depuis «Exécuter». Sur 2012 serveur, la procédure est quelque peu différente des version précentes (bien que le résultat final soit le même). Il est nécessaire de passer par les outils d administration du serveur, Le service Active Directory puis dans les services complémentaires. Puis, dans «Action», sélectionner «promouvoir ce serveur en contrôleur de domaine» Administration server page 17/62
L assistant s ouvre Pour le cas présent, c est un nouveau domaine qui sera créé (une nouvelle forêt) : Dès lors il sera nécessaire d y ajouter le domaine (les normes voudraient que l on y ajoute une extension générale.fr), vous pouvez y mettre le domaine de votre choix (loisel.fr n est pas obligatoire mais ça me ferait plaisir!). Si vous disposez déjà d un domaine vous pourrez l intégrer dans une forêt, ici, il sera premier serveur du domaine. Choisir ensuite le niveau fonctionnel du domaine Administration server page 18/62
Ca n interfère en rien sur le serveur courant mais cela peut avoir son importance dans les réseaux un peu plus anciens (dans le cas ou d autres serveurs pourraient joindre le domaine) cela dépendra alors de vos moyens et des différents postes faisant partie du parc. De manière générale, les parc sont rarement étérogène et il est plus que courant de trouver des postes un peu plus ancien, on ne sait jamais Un mot de passe est requis à cette étape pour la restauration de l annuaire général (le contenu d AD) On remarquera que le serveur devient DNS de manière automatique On pourra laisser le nom NetBios proposé par défaut (bien que peu utilisé maintenant). Suivant la stratégie de sécurité, on pourra changer les chemins vers un emplacement différent Administration server page 19/62
Un petit résumé avant d installer Les plus ferrus et curieux pourront voir le bouton «Afficher le script» # # Script Windows PowerShell pour le déploiement d AD DS # Import-Module ADDSDeployment Install-ADDSForest ` -CreateDnsDelegation:$false ` -DatabasePath "C:\Windows\NTDS" ` -DomainMode "Win2012" ` -DomainName "loisel.fr" ` -DomainNetbiosName "LOISEL" ` -ForestMode "Win2012" ` -InstallDns:$true ` -LogPath "C:\Windows\NTDS" ` -NoRebootOnCompletion:$false ` -SysvolPath "C:\Windows\SYSVOL" ` -Force:$true Au lieu d utiliser l assistant, un petit script PowerShell s occupera très bien la promotion du serveur Administration server page 20/62
Après vérification de la configuration requise, l installation pourra se faire Il sera nécessaire de lire les avertissements sachant que le serveur redémarrera automatiquement en fin de promotion! Ne reste plus qu à attendre Dès le redémarrage suivant (qui prendra un peu plus de temps qu à l habitude, on pourra remarque le login associé au domaine. Administration server page 21/62
Depuis le gestionnaire du serveur on y trouvera également le nombre de serveur en cours Dans l exemple ci-dessus, il est pris comme nom de domaine, un domaine avec une extension «.fr» il sera vu ultérieurement que le domaine doit être choisi avec soin et si possible sur un domaine inexistant. On préfèrera pour un domaine local mettre une extension «.loc» 6 Créer les utilisateurs, groupes Beaucoup d administrateurs préfèreront les commandes plutôt qu aller chercher un raccourci (dans le cas de la gestions des utilisateurs il faut aller dans les outils d administration.). La commande «dsa.msc» permet d afficher directement la console de gestion des objets du domaine (utilisateurs, groupes, ordinateurs..). Dans ce chapitre quelques utilisateurs vont être créés. Administration server page 22/62
On pourra utiliser plusieurs méthodes pour créer un utilisateur : La première étant le clic droit puis «Nouveau», «Utilisateur». Cette commande reste le plus communément utilisée. Il suffira ensuite de remplir les différents champs puis de valider : Administration server page 23/62
Puis lui mettre un mot de passe : Par mesure de sécurité l utilisateur devra changer son mot de passe dès la première connexion. L expérience parle d elle-même : si cette coche n est pas sélectionnée, il attendra souvent l expiration du mot de passe placé par défaut Après un petit résumé l utilisateur est créé : On pourra ensuite la placer dans un groupe de travail, lui donner des droits particuliers C est souvent le cas pour le premier utilisateur du serveur : il très recommandé de ne pas utiliser le compte administrateur directement! Double cliquer ou clic doir puis «Propriétés» sur le nom de l utilisateur permettra d un modifier les propriétés : Administration server page 24/62
De nombreuses caractéristiques pourront être gérées : Dont «Membre de» qui permettra de le placer dans un groupe de travail particulier Administration server page 25/62
Administrateur et administrateur du domaine sont souvent suffisant pour la plupart des tâches Injecter une liste d utilisateurs depuis un fichier CSV Entrer les noms d utilisateurs un par un est une solution souvent utilisée lors d un ajout ponctuel, lorsque les utilisateurs doivent être rentrés par centaines, il peut être intéressant d utiliser un script. Powershel propose un ensemble de commandes permettant tout type d action. Par défaut, la commande pour créer des utilisateurs, groupes n existe pas. Il sera alors nécessaire de télécharger des packs d outils Dans le cas présent il s agit des outils Quest (outils gratuits). Il seront accessibles sur le site de Quest : http://www.quest.com/powershell/activeroles-server.aspx Administration server page 26/62
Après acceptation du contrat de licence, les fichiers à télécharger seront disponibles On prendra celui appoprié. Pour des raison de sécurité, Internet Explorer disponible sur les serveurs peut bloquer la navigation. Pour cela se rendre dans les propriétés du serveur : Puis dans le volet de droite chercher sécurité renforcé Internet Explorer Désactiver la sécurité! Administration server page 27/62
Télécharger puis installer le fichier voulu Il pourra être nécessaire d installer le Framework 3.5 (dans l ajout de fonctionnalités) Administration server page 28/62
On pourra résuire la stratégie de sécurité comme indiqué.. Après téléchargement et installation, vous disposerez de nouvelles fonctionnalités PowerShell : Ou ceci pour le menu classique (2008 server) A partir de la nouvelle console PowerShell correspondante, vous pourrez créer et manipuler les utilisateurs. Administration server page 29/62
Il sera nécessaire bien entendu d appouver l utilisation du script (T) La commande est quelque peu plus compliquée qu un simple click droit mais sera intéressante, quite à y passer quelques minutes avant de s y lancer. Format de la commande Powershell : Import-Csv import-user.csv foreach { $mupn = $_.alias + "@domaine.extension" $mdname = $_.lname + " " + $_.fname $mou = "domaine.extension/users" New-QADuser -ParentContainer $mou -Name $mdname -FirstName $_.fname -LastName $_.lname -DisplayName $mdname -UserPrincipalName $mupn -SamAccountName $_.alias -UserPassword "mot_de_passe_par_defaut" } Le format du fichier «import-user.csv» dans notre cas sera : Lname,fname,alias Nom,prenom.alias d affichage Il ne reste qu à appliquer suivant le schéma du serveur Le format du fichier «import-user.csv» dans notre cas sera: lname,fname,alias Utilisateur1,,Utilisateur1 Utilisateur2,,Utilisateur2 Utilisateur3,,Utilisateur3 Utilisateur4,,Utilisateur4 Utilisateur5,,Utilisateur5 Utilisateur6,,Utilisateur6 Utilisateur7,,Utilisateur7 Utilisateur8,,Utilisateur8 Utilisateur9,,Utilisateur9 Utilisateur10,,Utilisateur10 Pour l exemple le fichier sera placé dans le dossier c:\temp Administration server page 30/62
Créer le fichier destiné à recevoir le script (penser à modifier le nom de domaine en fonction du domaine courant): Cd c:/temp Import-Csv import-user.csv foreach { $mupn = $_.alias + "@LOISEL.fr" $mdname = $_.lname + " " + $_.fname $mou = "LOISEL.fr/Users" New-QADuser -ParentContainer $mou -Name $mdname -FirstName $_.fname -LastName $_.lname - DisplayName $mdname -UserPrincipalName $mupn -SamAccountName $_.alias -UserPassword "mot_de_passe_par_defaut-2013" } Le script sera placé dans «c:\temp» et aura pour nom «create_user.ps1», sachant que l extension «ps1» est celle des scripts Powershell Administration server page 31/62
Pour exécuter le script, il sera nécessaire de diminuer la stratégie de sécurité : Set-executionPolicy RemoteSigned Pour modifier la stratégie il faudra valider ce choix La commande suivante permettra de vérifier le bon niveau d éxécution : Get-executionPolicy Administration server page 32/62
Reste à exécuter le script : Cd c:/temp./create-user.ps1 On pourra également lancer directement la commande en guise de créer un script. Il sera alors nécessaire de mettre l ensemble de la commande sur une ligne. Sur Powershell, le lignes se concatènent avec le signe «;» (comme une fin de ligne en lange C). Ce qui donnera : Cd c:/temp ; Import-Csv import-user.csv foreach { $mupn = $_.alias + "@CPD2008R2.fr" ; $mdname = $_.lname + " " + $_.fname ; $mou = " CPD2008R2.fr/Users" ; New-QADuser -ParentContainer $mou -Name $mdname -FirstName $_.fname -LastName $_.lname -DisplayName $mdname - UserPrincipalName $mupn -SamAccountName $_.alias -UserPassword "mot_de_passe_par_defaut- 2013" ; } Les nouveaux utilisateurs sont créés : A propos de PowerShell Powershell est le successeur de la ligne de commande depuis quelques années. Face aux demandes des administrateurs à pouvoir gérer le système en ligne de commande, un système parallèle au «command.com» («cmd») a vu le jour. De ce tutoriel, qui ne peut s attarder sur tout, il ne sera que très succinctement abordé les commandes Les utilisateurs de Linux, en réalité d Unix, ne seront pas dépaysés. On retrouvera les Administration server page 33/62
principales commandes du shell : pwd cd cp clear mv ls Avec souvent moins de paramètres que son homologue, mais cette facilité permettra une très rapide prise en main. Son point fort est l emploi des objets, tout comme dans le script précédemment créé. Parmi ces objets on pourra remarquer l emploi des variables : Get-ChildItem Env: Les adeptes d Unix auront tout de suite essayé la concaténation des commandes : Get-ChildItem Env: more Comme vu en début de paragraphe précédent on pourra trouver de nombreux outils (comme Quest pour la gestion des rôles) destiné à améliorer les fonctionnalités de PowerShell. 7 Passer un client Windows dans le domaine Dans ce chapitre, un poste client Windows va être ajouté au domaine créé précédemment. L'objectif principal d'active Directory est de fournir des services centralisés d'identification et d'authentification dans un réseau d'ordinateurs (la définition est très simplifiée, car en réalité cela va aller bien au-delà de cette simple considération). Dès lors qu un utilisateur authentifié sur le serveur principal se connectera, il pourra utiliser toutes les ressources (si l administrateur lui autorise) de ce réseau : partages, poste de travail, imprimantes... Administration server page 34/62
Configurer au besoin la passerelle et/ou les DNS Lors de l installation d Active directory on peut remarquer que le domaine est un nom, une chaîne de caractères et non une adresse réseau. C est le rôle du serveur de DNS de traduire une adresse en nom et l inverse. Pour qu un domaine soit trouvé, il est nécessaire au client d avoir la traduction de nom pour envoyer la demande (on parle requêtes) au contrôleur de domaine. Par défaut, toute information que le client ne sait interpréter est renvoyée vers la passerelle (c est le rôle d une passerelle de relier des endroits inaccessibles). Si la passerelle n a pas enregistré le serveur de domaine (pour des tas de raisons diverses et variées) il est possible d obtenir le message suivant lors de la tentative d adjonction du poste de travail au domaine. On pourra tester de jonction par une commande ping sur le poste client. Le ping sera effectué sur le nom de domaine Il répondra ou pas (Attention au piège comme indiqué au paragraphe suivant) Attention au piège Lors du ping, il est absolument nécessaire de vérifier l adresse IP de la réponse (loisel.fr est un domaine déclaré sur l Internet). En effet le serveur qui doit répondre est le serveur qui doit être joint et non un serveur distant sur l Internet. C est l erreur la plus répandue lors de difficulté à joindre un poste dans un domaine! Administration server page 35/62
Dans l exemple de ce tutoriel, il est pris comme nom de domaine, un domaine avec une extension «.fr». On préfèrera pour un domaine local mettre une extension en «.loc». Placer les DNS correctement sur le client Il est donc nécessaire que cela soit bien le serveur qui réponde à la requête ping. Il est courant qu un serveur ait plusieurs cartes réseau, la réponse ping peut donc venir de l une des cartes réseau du serveur (indifféremment). Afin que le serveur réponde à son nom, il pourra être nécessaire de fixer le ou les serveurs DNS du poste client. Après avoir placé les DNS, validé la nouvelle configuration, le serveur devrait répondre à son nom (sur l une des cartes réseau) : Administration server page 36/62
Dès lors que le domaine visé répond, l ajout au domaine devrait se faire sans encombre. Fixer le domaine Pour passer un poste de travail dans un domaine, il suffit d afficher les propriétés du poste de travail : Sous Windows 7 par exemple Administration server page 37/62
Sous Windows 8 un clic droit dans le coin en bas gauche ouvrira le menu donnant accès au système. Pour les insatisfaits de la facilité, le système sera accessible depuis le panneau de configuration. Ou depuis chercher (les solutions sont nombreuses) Puis de modifier son groupe de travail pour le passer en domaine : Administration server page 38/62
Cliquer alors sur modifier les paramètres. Dans la fenêtre cliquer sur «Modifier» pour modifer le domaine Administration server page 39/62
Que l on indiquera dans domaine : Dans certains cas (caractères particuliers dans le nom de machine), un message pourra vous avertir de difficulté. Le nom de la machine ne pourra être changé en même temps que l adjonction dans le domaine. Il sera donc nécessaire d affectuer la modification du nom (un redémarrage est nécessaire) avant de la faire passer dans le domaine. Administration server page 40/62
Après vérification du domaine, il sera nécessaire d indiquer un compte autorisé à ajouter un poste dans le domaine (avec son mot de passe) : (en cas d erreur se reporter au paragraphe précédent «Placer les DNS correctement») Après quelques secondes, il sera anoncé l entrée du poste dans le domaine : Un redémarrage sera nécessaire. Administration server page 41/62
A la connexion suivante vous pourrez utiliser un compte du domaine (un des compte créé au chapitre précédent) Après avoir cliqué sur «Changer d utilisateur» Par défaut le domaine sera proposé taper alors un login avec le mot de passe d un utilisateur autorisé : Il faudra un peu de patience à la première connexion Administration server page 42/62
Puis le poste de travail sera disponible Sortir un client du domaine La sortie d un client du domaine est l opération inverse de celle réalisée pour l y entrer. Tout utilisateur pourra sans charger (ne cherchez donc pas de nom de compte ou mot de passe ). Cependant, l utilisateur en cours devra avoir les droits administrateur sur le poste (sinon où va-t-on?). Après une petite info Les anciennes versions de Windows demandaient un nom de compte (bien inutile) Comme pour le domaine un message vous avertira du passage en WorkGroup. Administration server page 43/62
Puis on redémarre 8 Passer un client Linux dans le domaine A l origine, ce tutoriel ne devait expliquer que l intégration d un poste Linux dans un AD. Cela faisait un bon faible volume de document. Le passage d un poste linux dans le domaine n est qu une simple formalité, d autant plus que la majorité des explications ont déjà été données dans le paragraphe précédent. Avant toute manipulation, il sera souvent nécessaire de supprimer le programme networkmanager qui est simplement un programme d administration du réseau depuis l interface graphique (car un poste de travail Linux a sa gestion réseau accessible sur le bureau). Pour supprimer l application : Sur Debian, Ubuntu, Mint apt-get remove network-manager Sur Red-Hat, Fedora, Mandriva yum remove NetworkManager Administration server page 44/62
Bien sûr les adeptes de network-manager pourront toujours s en sortir avec ce programme. D autant plus que passer un poste Linux dans un domaine AD n est pas forcément réservé à monsieur tout le monde qui s amusera à installer un AD sur son serveur et passer ses postes personnels sur le réseau, qui plus est des postes personnels en Windows Pro et en Linux Bien évidemment il y a de grandes chance que ce tutoriel ne serve qu à des administrateurs les DNS ne devraient donc pas être la grosse difficulté. Configurer les DNS ou une adresse IP fixe Dans le chapitre précédent il a été expliqué que l intégration d un poste ne peut se faire que dès lors que le domaine à intégrer peut être pingué. Il a été expliqué aussi d y faire attention car une erreur peut très vite arriver (le ping du domaine répond, mais ce n est pas le bon serveur). Il suffit de mettre en application sous Linux. Ouvrir une console puis pinguer le domaine : Bien sûr le domaine répond (un domaine en «.loc» aurait été tellement mieux), mais cette fois on remarque très vite que ce n est pas le serveur qui nous intéresse qui répond mais celui sur le web! Encore une fois, il est préférable de le dire, un domaine local devrait porter comme exension «.loc», beaucoup moins de soucis seraient rencontrés avec cette confusion entre les domaines public et les serveurs de domaine! Inutile de poursuivre si le serveur de réponse n est pas celui attendu! Administration server page 45/62
L objectif est dans un premier temps d obtenir ceci. Toutes les méthodes sont bonnes dès lors que le résultat est obtenu. Or ce résultat dépend du réseau en général de sa configuration et celle du matériel. Ajouter le serveur dans resolv.conf : erreur ou pas? On pourra lire à quelques reprise sur l Internet de commencer par modifier le fichier «resolv.conf». Effectivement le fichier resolv.conf contient le serveur de résolution de nom. Sur certaines versions de Linux, le modifier pourra résoudre le problème de ping. Mais sur Debian ou Ubuntu c est marqué : le fichier est créé dynamiquement! Sur Fedora Sur Open Suse, après quelques modifications il pourra être modifié Administration server page 46/62
Comme on peut le voir ci-dessus, modifier le fichier /ect/resolv.conf n est pas une erreur mais la solution ne sera pas efficace à 100%... Pour ajouter une ligne dans le fichier resolv.conf il y aura bien entendu l édition du fichier ou simplement la commande suivante : echo nameserver ip_du_server_a_ajouter >> /etc/resolv.conf Si on ne désire pas garder les DNS précédents on pourra utiliser cette commande : echo nameserver ip_du_server_a_ajouter >> /etc/resolv.conf Et tester Dans le cas de Debian la commande restera valide jusqu au prochain démarrage Après un redémarrage du réseau, retour à la case départ. Administration server page 47/62
Comme indiquée ci-dessus, le fait de modifier le fichier resolv.conf est une solution, elle fonctionnera plus ou moins suivant les versions. On pourra au besoin rajouter cette commande dans un script au démarrage (en init.d). Mais la solution ne sera qu une solution de secours, pas très «pro pre» (ce n est pas viable en production). Placer les DNS dans la configuration de carte Une seconde solution qui a ses avantages et inconvénients, et de configurer le DNS, passerelle sur la carte réseau du poste «client». La solution à son avantage: une fois configurée il n y a plus aucun souci L inconvénient, est que la carte réseau sera alors configurée avec une adresse IP statique (sachant qu en entreprise, c est souvent le cas, ce n est pas pour autant un problème!). Alors que sur les distributions à base de Debian, le fichier est /etc/network/interfaces Il suffira alors d éditer les paramètres de la carte réseau, de placer les paramètres pour une IP fixe : nano /etc/network/interfaces (A adapter suivant les besoin de configuration) allow-hotplug eth2 iface eth2 inet static address 192.168.1.34 netmask 255.255.255.0 gateway 192.168.1.33 dns-nameservers 192.168.1.33 auto eth2 Redémarrer ensuite le service : service networking restart Ping. Administration server page 48/62
Les fichiers de configuration de la carte réseau (ou des cartes réseau) se trouvent dans ce dossier sur les distributions Fedora en: /etc/sysconfig/network-scripts/ En se déplaçant dans le dossier de configuration de Fedora, on pourra remarquer que la carte peut avoir un nom différent de celle souvent attendu, ici la carte Ethernet est «p1p2» (ça ne se devine pas!) Modifier le fichier correspondant au matériel (p2p1 ) pour avoir une IP statique, modifier les lignes ou ajouter: BOOTPROTO=none IPADDR0=192.168.1.34 PREFIX0=24 GATEWAY0=192.168.1.1 DNS1=192.168.1.88 DOMAIN=192.168.1.33 (A adapter suivant les besoins) Tester Administration server page 49/62
Joindre au domaine Dès lors que le domaine répond à la commande ping, le poste de travail va pouvoir être intégré au domaine. Dans un chapitre précédent, il a été vu comment intégrer un poste de travail Windows (donc Microsoft) dans un domaine Microsoft, la manipulation est aisée car il s agit de systèmes complètement compatibles d autant plus qu ils sont créés par le même fabriquant. Dans le cas de Linux, c est un peu différent, car loin d être compatibles, on pourrait même dire qu ils sont concurrents : les «Linuxiens» seront bien souvent opposés aux «Windowsiens» ce qui n arrange pas les choses. Pourtant, les deux systèmes sont bien complémentaires et si les uns pouvaient cohabiter en toute aise avec les autres, probablement qu ils seraient possible d aller bien plus loin dans le domaine de l Informatique. Ce n est pas le cas (je ne jette la pierre à personne) et il faudra faire avec! Deux protocoles se chargeront principalement de ce lien entre les systèmes : samba et ntp. Avant toute action mettre à jour le système Linux est principalement gratuit, cela ne coute donc rien de mettre à jour un système. Certains grincheux pourront contester cette action, il est vrai que l on pourra installer les prérequis sans pour autant devoir mettre un système à jour. Car des fois cela représente un grand nombre de mises à jour. Ou Et si l on fait une mise à jour de la distribution ça monte encore un peu Administration server page 50/62
Si vous en avez le temps Sous debian apt-get update && apt-get upgrade Sous Fedora : yum update Ou yum upgrade Après quelques minutes le système est à jour, et ce ne lui fait pas de mal Installer les pré-requis Suivant la distribution utilisée, les prérequis suivants seront nécessaires : «winbind», «samba», «smbclient», «krb5-user». Sur Debian : apt-get install winbind samba smbclient krb5-user ntpdate Sur Fedora Un peu moins connu à défaut d utiliser yum, il sera possible d utiliser «yumex» (l équivalent de «synaptic» sur Debian) Administration server page 51/62
Sous Fedora «Winbind» sera remplacé par «samba-winbind» (seul le nom change), quant à Kerberos, ne les cherchez pas, elles sont installées par défaut! Bien que configuré ultérieurement, on pourra placer comme domaine Kerberos le domaine de destination. Pourquoi Ntpdate Ntpdate va servir à synchroniser l'heure avec le serveur de domaine ce qui ermettra à kerberos une expiration du ticket par faute de synchronisation de l heure du poste client. Il sera alors possible de mettre manuellement à l heure le poste client (linux) avec le serveur. La commande sous linux sera sous cette forme : /usr/local/bin/ntpdate IP_du_serveur /usr/local/bin/ntpdate 192.168.1.33 (A adapter au besoin) Sur Fedora la commande sera reconnue sans chemin : ntpdate 192.168.1.33 Administration server page 52/62
Mettre à jour l heure du client automatiquement Le planificateur de tâches sous linux est «cron» editer alors le fichier de configuration de cron : crontab -e Après choix de l éditeur Se rendre à la fin du fichier Sur Fedora il sera nécessaire de passer par l éditeur pour modifier le fichier (on pourra aussi utiliser «nano»: nano /etc/contrab Bien que de présentation différente, l emploi et le contenu d une ligne de planification sont identiques. Ajouter à la fin du fichier une tache destinée à mettre à l heure le poste client à chaque démarrage puis toutes les heures (ce qui est déjà assez souvent, suivant la stabilité du poste client 1 fois par jour peut être suffisant) : # Toutes les heures 0 */1 * * * /usr/local/bin/ntpdate 192.168.1.33 # A chaque demarrage @reboot /usr/local/bin/ntpdate 192.168.1.33 Ou pour Fedora Administration server page 53/62
# Toutes les heures 0 */1 * * * ntpdate 192.168.1.33 # A chaque demarrage @reboot ntpdate 192.168.1.33 Configurer Samba Samba est le protocole de communication entre les produits Microsoft et Linux, c est donc le fichier de configuration qui va être modifié. Avant tout modification ou erreur qui pourrait poser des soucis de configuration, il va être nécessaire de faire une suavegarde du fichier actuel : cp /etc/samba/smb.conf /etc/samba/smb.conf.old Comme indiqué dans la commande précédente, c est le fichier «smb.conf» qui contiendra la configuration du serveur Samba. C est donc ce fichier qui va être édité et modifié : nano /etc/samba/smb.conf C est le chapitre «Global» qui va être modifié : ATTENTION : ne pas mettre les commentaires en vert. [global] server string = Poste_de_travail_Linux #nom du serveur linux netbios name = Linux # nom du serveur linux security = ads realm = LOISEL.FR # nom du domaine en majuscule password server = 192.168.1.33 # ip du controleur de domaine principal workgroup = loisel # nom du domaine en minuscule sans le tld idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes winbind refresh tickets = yes template homedir = /home/cpd # chemin par defaut des futurs utilisateurs template shell = /bin/bash client use spnego = yes client ntlmv2 auth = yes winbind use default domain = yes restrict anonymous = 2 NOTE : le chemin par défaut des futurs utilisateurs doit être accessible en lecture. Administration server page 54/62
Dans le fichier «smb.conf» précédemment modifié le dossier «home» de l utilisateur est «/home/cpd». Il va donc être créé puismis en lecture/écriture : mkdir /home/cpd chmod 777 /home/cpd Suivant la configuration du poste si aucune imprimante ou dossier sont partagés, la section «global» ci-dessus est suffisante. On pourra alors vider au préalable le fichier avant d y copier la configuration ci-dessus. echo > /etc/samba/smb.conf Redémarrer les services : Après configuration des services, il sera nécessaire de les redémarrer afin de prendre en compte les différentes modifications. Les services Samba et Winbind existent sous différents versions et il en est de même avec les versions Linux. Suivant la distribution, suivant la version du service, différentes méthodes seront possibles pour leur redémarrage : invoke-rc.d samba restart invoke-rc.d winbind restart ou service samba restart service winbind restart ou service smbd restart ou (pour Debian) /etc/init.d/smbd restart /etc/init.d/winbind restart ou (pour Fedora) service smb restart Administration server page 55/62
(Il reste bien sûr la méthode de redémarrer le poste ) Intégration au domaine kinit administrateur@loisel.fr (kinit compte_admin_du_domaine@nom_du_domaine_en MAJUSCULE) Si aucune erreur n est reportée, cela signifie que le compte est bien configuré En cas d erreur, défaut de domaine. Une erreur KDC est retournée Il est important d y mettre le domaine en majuscule! net ads join -S Loisel-CPD.loisel.fr -U administrateur (net ads join -S nom_complet_du_serveur_cpd -U compte_admin_du_domaine) FELICITATION! votre machine fait partie du domaine! (suvant la structure de votre réseau, une erreur d enregistrement DNS du poste Linux pourra survenir ce qui ne change en rien le résultat) Les postes sont bien enregistré dans l AD! Terminer la configuration Il est possible désormais de vérifier les utilisateurs du système sous Debian : Administration server page 56/62
wbinfo -u (En cas d erreur, pour terminer la configuration un redémarrage pourra être nécessaire!) Ou les groupes : wbinfo -g La commande «wbinfo» n existe pas sous Fedora Le poste de travail est enregistré sur le serveur, il va être nécessaire maintenant d interroger l annuaire LDAP (AD) pour l authentification des utilisateurs. Pour cette authentification par LDAP, il sera nécessaire de modifier 4 fichiers. Le premier : nano /etc/nsswitch.conf Le modifier pour avoir ce contenu : passwd: compat winbind group: compat winbind shadow: compat Administration server page 57/62
hosts: networks: protocols: services: ethers: rpc: netgroup: files dns files db files db files db files db files nis Puis : nano /etc/pam.d/common-account A placer ces lignes : account sufficient pam_winbind.so account required pam_unix.so Puis le fichier suivant : nano /etc/pam.d/common-auth Y placer ces lignes : auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=file auth sufficient pam_unix.so nullok_secure use_first_pass auth required pam_deny.so Terminer enfin en modifiant ce fichier : nano /etc/pam.d/common-session Placer ces lignes : session required pam_unix.so session required pam_mkhomedir.so umask=0022 skel=/etc/skel Redémarrer les services invoke-rc.d samba restart invoke-rc.d winbind restart ou service samba restart service winbind restart ou service smbd restart ou (Debian) /etc/init.d/smbd restart /etc/init.d/winbind restart Administration server page 58/62
Se connecter ou (pour Fedora) service smb restart Après configuration des 4 fichiers précédents, il ne reste plus qu'à se connecter avec un compte de l'ad: (L utilisateur sera au format «domaine\nom_utilisateur») Comme la plupart des systèmes, après une première connexion, il sera possible de se connecter sans passer le nom de domaine dans le nom d utilisateur. Après login, on pourra constater le bon fonctionnement du système depuis une console en utilisant les commandes de base : whoami (Qui permetra de vérifier que le login est bien un login AD) pwd (Qui permet de vérifier que le dossier utilisé est bien celui défini dans /etc/samba/smb.conf) ls (Qui permet de vérifier que les différents dossiers de base de l utilisateur ont bien été créés) Administration server page 59/62
Note : La première connexion pourra être quelques peu plus longue (dû au fait du transfert de fichiers, création du profile ) Améliorer le profile Les plus aisés pourront encore améliorer la gestion des profils en utilisant les variables système : template homedir = /home/cpd/%u (Modifier /etc/samba/smb.conf de manière à prendre en compte chaque profil d utilisateur) Avant de tester le compte, les droits seront replacés sur le dossier d accueil: chmod 777 -R /home/cpd Puis tester le compte Dès lors chaque utilisateur à son dossier Samba offrant des possibilités proches de celles du service AD sur Windows Server, on peut alors envisager les partages, accès aux points de montage (mais c est un autre tutoriel) 9 Conclusion Comme prévu en début de document, le passage d un poste de travail Linux dans un domaine Windows, n est pas des plus compliqué. Encore faut-il savoir comment s y prendre. Le plus gros défaut rencontré dans cette manipulation est identique à celui rencontré sur les clients Microsoft : la requête doit être envoyée au bon serveur (d où le besoin de penser à faire un ping, qui peut faire gagner bien du temps). Ce tutoriel n aurait aucun lieu d exister si celui-ci s était arrêté à ce dernier chapitre. Il aura permis de voir qu il est préférable d utiliser une extension.loc dans un domaine local, il aura fait une petite introduction au PowerShell, mais surtout il permet de démystifier un ensemble de manipulations qui Administration server page 60/62
semble toujours complexes vues de l extérieur. Il ne reste plus qu à se lancer dans l administration de réseau d entreprise (une action qui présente son lot de difficultés parfois plus simples qu on ne le croit!). Administration server page 61/62
Propriété. Jean Paul Loisel 56 Rue Philippe de Girard 59160 Lomme loiseljp@club-internet.fr 07 70 32 35 67 Licence Ce document est distribué en "Public Documentation License". The contents of this Documentation are subject to the Public Documentation License. You may only use this Documentation if you comply with the terms of this License. A copy of the License is available at this mail loiseljp@club-internet.fr. The Original Documentation is " Installer Active Directory sur Microsoft Server 2012 / Intégrer un poste Linux dans AD ". The Initial Writer of the Original Documentation is Jean Paul LOISEL 2014. All Rights Reserved. Contributor(s):. Portions created by are Copyright [Insert year(s)]. All Rights Reserved. (Contributor contact(s): [Insert hyperlink/alias]). The text of this chapter may differ slightly from the text of the notices in the files of the Original Documentation. You should use the text of this chapter rather than the text found in the Original Documentation for Your Modifications. Administration server page 62/62