Bonjour,
Aujourd’hui,
je vais vous montrer comment créer un contrôleur de domaine sur un serveur
GNU/Linux avec Samba, mais aussi une fois le contrôleur de domaine mis en
place, comment y configurer des comptes utilisateurs et aussi des profils
itinérants à l’aide notamment des outils RSAT.
Mais
tout d’abord,
Qu’est-ce que Samba ?
Samba
est une suite de logiciels libres et open source qui implémente le protocole
SMB/CISF (Server Message Block / Common Internet File System) dans les
ordinateurs tournant sous le système GNU/Linux, il permet de partager des
dossiers, des fichiers, d’accéder aux ressources d’un ordinateur quelconque, et même
aux imprimantes au sein d’un réseau entre plusieurs ordinateurs fonctionnant avec
des systèmes d’exploitation Windows, GNU/Linux ou autre. A partir de sa version
4 Samba peut également servir de contrôleur de domaine active directory et
fournir des services d’authentification aussi bien à des postes Windows qu’à
des postes GNU/Linux.
Maintenant
que vous en savez un peu plus sur Samba, nous allons entrer dans le vif du
sujet.
Considérons
qu’on souhaite mettre en place un contrôleur de domaine tel que le décrit la
topologie suivante :
Pour
commencer la mise en place de notre contrôleur de domaine, nous nous rendons
sur le serveur GNU/Linux :
(Ps: le serveur GNU/Linux que nous utilisons en occurrence ici est
un Ubuntu)
Puis,
nous installons des mises à jour système sur notre serveur à l’aide de la
commande « apt-get update && apt-get
upgrade »,
Une
fois les mises à jour système installées, nous lançons la commande « apt-get install winbind » pour pouvoir
installer le paquet winbind qui sert à unifier la gestion des comptes entre
Unix et Windows :
Ensuite,
nous installons un ensemble de packages nécessaire pour la suite de la mise en
place de notre contrôleur de domaine via la commande « apt-get install attr build-essential libacl1-dev
libattr1-dev libgnutls-dev libblkid-dev libreadline-dev acl ntp python-dev
libpam0g-dev python-dnspython pkg-config libpopt-dev libldap2-dev gdb dnsutils
libbsd-dev krb5-user docbook-xsl libcups2-dev » :
Pendant
l’installation des paquets précédemment renseignés, une fenêtre apparaît et nous
devons choisir le nom de notre futur domaine, nous entrons JG.BLOG (pour ceux qui se posent la question du
choix JG, tout simplement pour Jacques Goueth 😁) .
Ensuite,
deux autres fenêtres de renseignement s’en suivent respectivement pour qu’on
indique le nom du serveur Kerberos et le nom du serveur d’administration du
domaine, dans notre cas comme c’est le même serveur qui joue les deux rôles on
indique le même nom (logique non? 😅) :
(Ps : kerberos est un système d’authentification réseau ou
protocole d’authentification réseau basé sur le principe d’un mécanisme
d’authentification par clés secrètes et sur l’utilisation de tickets, plutôt
que sur l’utilisation de mots de passe en clair pour éviter toute interception
frauduleuse.)
Une
fois l’installation des paquets terminée, on doit modifier le fichier de configuration
de l’interface réseau de notre serveur :
Comme
suit :
Ensuite,
on modifie le fichier resolv.conf qui se trouve dans
le répertoire /etc/ de cette
manière :
Enfin,
on se rend dans les fichiers /etc/hostname et /etc/hosts pour modifier
le nom de notre serveur tel qu’indiqué plus haut au niveau des fenêtres de
configuration kerberos.
Après
toutes ces modifications, pour qu’elles soient prises en compte, on redémarre
le serveur avec la commande « reboot »
ou « shutdown –r now » :
De
retour sur notre serveur, on peut vérifier si l’adresse IP a été modifié avec
la commande « ifconfig ».
Maintenant,
nous allons poursuivre avec la mise en place de notre contrôleur de domaine par
la synchronisation des horloges entre les futures machines qui vont se
connecter dans notre domaine. La synchronisation du temps est nécessaire à
l’authentification kerberos ; pour ce faire on entre les commandes
suivantes :
Au
lieu de « ntpdate –B 0.asia.pool.ntp.org »
on peut aussi utiliser à la place « ntpdate –B
0.uk.pool.ntp.org » par exemple, ou tout autre serveur de temps
disponible ; le site web https://ntppool.org donne une liste
des différents serveurs de temps fiable à travers le monde dont on peut se
servir.
Ensuite,
nous allons installer quelques paquets supplémentaires toujours nécessaires
pour la suite de notre configuration :
Puis,
par précaution, on fait la sauvegarde du fichier /etc/samba/smb.conf,
Avant
de poursuivre avec la commande « samba-tool
domain provision –use-rfc2307 –interactive » pour paramétrer la
création de notre domaine, cette commande nous invite à renseigner également
des informations comme le mot de passe
du compte administrateur du domaine et on peut aussi renseigner l’adresse DNS
qu’on souhaite transférer à travers notre serveur, dans notre cas, on va entrer
8.8.8.8
l’une des adresses IP de Google.
(Ps : le mot de passe de l’administrateur du domaine doit respecter
certaines règles de complexité, comme : le mot de passe doit avoir au
moins une majuscule, au moins un chiffre et doit faire au moins huit caractères
de long.)
Une
fois toutes les informations renseignées, l’initialisation du paramétrage de
notre domaine se termine.
On
peut se rassurer que le paramétrage a bien été fait en vérifiant qu’un nouveau
fichier smb.conf
a été créé.
A
présent, on va supprimer l’adresse IP 8.8.8.8 et la ligne nameserver 8.8.8.8 qu’on a renseigné plus haut respectivement dans les
fichiers /etc/network/interfaces
et /etc/resolv.conf :
Puis
on redémarre à nouveau notre serveur.
Maintenant,
on redémarre le service smbd avec la commande « service
smbd restart » et aussi, on
doit supprimer les processus supplémentaires en cours d’exécution via la
commande « kill » suivi du
numéro de l’identifiant du processus à arrêter :
Ensuite,
nous entrons les commandes suivantes «host –t
SRV _ldap._tcp.jg.blog», «host –t SRV _kerberos._udp.jg.blog» et «host
–t A controleur.jg.blog» pour vérifier si notre service DNS est
bien configuré et fonctionnel :
On
créé en suite un lien symbolique (après avoir effectué éventuellement une
sauvegarde du fichier d’origine de kerberos) pour que si par la suite, on
effectue des modifications concernant kerberos ça puisse se répliquer directement
sur son fichier de configuration.
Il
ne nous reste plus qu’à redémarrer notre serveur une dernière fois pour
terminer notre configuration (pour ceux qui ont compté c’est le troisième redémarrage 😊) ;
Nous
allons à présent nous rassurer que notre contrôleur de domaine est bien en
place, déjà avec la commande « smbclient –L
controleur.jg.blog –U% » pour voir le nom du domaine, les dossiers
de partage, et même le nom du serveur qui fait office de contrôleur de domaine.
Puis,
on teste l’effectivité de la connexion à un dossier de partage Samba par
exemple sur le dossier netlogon :
A
présent, on va créer un compte utilisateur (du nom de jacques.goueth) qui
pourra rejoindre notre domaine JG.BLOG avec la commande « smbpasswd
–a jacques.goueth » ;
Avec
la commande « pdbedit –L » on peut
obtenir les informations des différents comptes utilisateurs présents dans notre domaine.
Maintenant
nous nous rendons sur un ordinateur Windows par exemple, et on va essayer de
nous connecter à notre domaine nouvellement créé.
Pour
ce faire, on se rend tout d’abord au niveau de l’option de Paramètres Réseau et
Internet,
Puis,
on sélectionne l’option Modifier les options d’adaptateur,
Ensuite,
on sélectionne la carte réseau qui est connecté à notre réseau local (où se trouve
notre contrôleur de domaine) et après un clic droit, on se rend au niveau de
l’option Propriétés ;
Et
on doit sélectionner Protocole
Internet version 4 (TCP/IPv4) :
Pour
indiquer l’adresse IP de notre contrôleur de domaine comme DNS principal à
utiliser au niveau de notre ordinateur sur lequel on va se connecter à un
compte utilisateur du domaine.
Une
fois qu’on a validé l’adresse DNS, on se rend cette fois-ci au niveau du Panneau de configuration
et on choisi l’option Système :
Puis,
on choisi Modifier
les paramètres ;
Ensuite,
nous cliquons sur le bouton Modifier.
Et
on renseigne le nom de notre domaine avant de cliquer sur OK ;
Pour
rejoindre le domaine, on a besoin de renseigner le nom et le mot de passe d’un
compte utilisateur déjà présent dans le domaine, dans notre cas, on va entrer
les identifiants du compte administrateur puis cliquer sur OK .
Si
les identifiants correspondent avec les informations d’un compte utilisateur autorisé,
on rejoint sans problème le domaine JG.BLOG :
Enfin,
on doit redémarrer l’ordinateur après avoir éventuellement fermé toutes les
fenêtres pour finaliser l’opération.
Et
l’ordinateur redémarre,
Une
fois que l’ordinateur a redémarré, nous nous connectons à notre compte
jacques.goueth sur le domaine JG.BLOG :
Au
bout d’un certain laps de temps, on arrive donc sur notre session de compte
utilisateur ;
Et
en nous rendant au niveau du partage réseau, on a accès à notre serveur et on
peut y voir les deux dossiers de partages présents pour le moment dessus.
On
se rend justement sur notre serveur et on va y ajouter quelques dossiers supplémentaires,
Et
aussi comme on n’aura pas besoin des dossiers netlogon et sysvol pour la suite, on va les rendre inaccessibles
(du moins pas directement ;) ) en ajoutant au niveau des sections qui
concerne les deux répertoires la variable browseable = No dans notre fichier smb.conf qui est
le fichier de configuration du service de partage Samba, c’est au niveau de ce même
fichier que nous allons ajouter les informations pour les dossiers Dossier1 et
Dossier2 que l’on souhaite ajouter au partage, ceci se fait avec les variables path pour indiquer
le chemin de destination du répertoire concerné, browseable avec le choix Yes si on veut que
le dossier soit visible et No pour le contraire, on a aussi recours à la variable read only pour
choisir si les utilisateurs qui ont accès à ce dossier puissent y apporter des
modifications (si la variable est égal à No) ou non (si la variable est égale à Yes ; oui
je sais, en gros un Non pour dire Oui et un Oui pour dire Non 😶) et enfin la variable valid users pour définir les autorisations d’accès au dossier à
un utilisateur en particulier ou groupe d’utilisateur seulement.
En
se rendant à nouveau sur notre ordinateur qui est connecté au domaine, on aperçoit
cette fois-ci nos deux dossiers tels que définit dans le fichier de
configuration smb.conf.
Et
comme on l’a spécifié précédemment dans notre fichier de configuration,
l’utilisateur jacques.goueth avec lequel on est connecté en ce moment à l’autorisation
d’accès au répertoire Dossier1, et peut tout aussi toujours dans le Dossier1
créer des fichiers, des sous-répertoires, copier des éléments, et y apporter
toutes autres formes de modifications possibles,
Mais
par contre l’utilisateur jacques.goueth n’a pas l’autorisation pour accéder au
répertoire Dossier2, raison pour laquelle si on fait un essai dessus, on reçoit
un message de la sorte :
A
présent, on va s’intéresser à la configuration de profils itinérants ;
pour ceux qui se posent la question :
Qu’est-ce qu’un profil itinérant ?
Un
profil itinérant c’est un compte utilisateur qui conserve ses informations
quelque soit l’ordinateur sur lequel il est ouvert sur le réseau, ce type de
compte se charge depuis le serveur ou contrôleur de domaine, l’avantage de ce
type de compte c’est qu’il n’est pas fonction de l’ordinateur local sur lequel
il est ouvert mais plutôt du serveur sur lequel il se charge, d’où le gros
avantage que toutes les informations renseignées sur ce compte sont sauvegardées
sur le serveur et pourront être restituer à n’importe quel moment sur le réseau
et quelque soit l’ordinateur sur lequel on va ouvrir la session du profil en
question ; donc le propriétaire d’un profil itinérant même s’il arrive que
par malheur, il vient à égarer son ordinateur 😭, il pourra toujours retrouver ses informations depuis le contrôleur de domaine 😃.
Pour
configurer des profils itinérants, on va commencer par ajouter deux autres
dossiers supplémentaires Profils (qui va sauvegarder les dernières activités telles que le
background, les fichiers, les dossiers, et autres tâches effectuées sur le
profil) et Datas
(qui va sauvegarder le contenu du disque dur réseau associé au profil en
question) au niveau de notre serveur, mais aussi apporté quelques modifications
à notre fichier de configuration smb.conf :
(Ps : le symbole ‘ $ ’ juste après Profils et Datas est en
quelque sorte un équivalent de la variable browseable = No, c’est juste pour indiquer
à Samba que nos répertoires restent cachés.)
Puis,
on va se connecter sur notre ordinateur Windows avec le compte administrateur
cette fois-ci :
Le
deuxième élément dont on aura besoin pour mener à bien la configuration de nos
profils itinérants est un ensemble d’outils appelés RSAT.
Qu’est-ce qu’on appel des outils RSAT ?
RSAT
pour Remote Server Administration Tools, est une collection complète d’outils
fournie par Microsoft qui permet aux administrateurs systèmes de gérer à
distance les rôles et les fonctionnalités d’un serveur Active Directory depuis
une station cliente de Windows et généralement aussi ces outils permettent la
délégation de l’administration depuis un poste client sans passer par le
serveur d’administration.
(Ps : il est important de souligner aussi que les outils RSAT
peuvent être installés uniquement sur les éditions professionnelles ou
entreprises de Windows.)
C’est
donc à l’aide de ces outils que nous allons générer des profils itinérants sur notre
serveur.
Nous
allons tout d’abord les installer, pour ce faire, on se rend sur le navigateur
internet de notre ordinateur client :
Puis,
on clic sur le lien pour lancer le téléchargement,
On
précise la version que l’on souhaite installer ;
Et
il ne nous reste plus qu’à appuyer sur le bouton OK pour démarrer le
téléchargement.
Une
fois le téléchargement terminé, nous procédons à l’installation du logiciel (c’est
un logiciel Windows, donc pas trop de difficulté pour l’installation faut juste
cliquer sur « suivant » 😜)
Une
fois l’installation terminée, on se rend dans le menu des Programmes et
fonctionnalités puis on choisi l’option Activer ou désactiver des fonctionnalités Windows :
Ensuite,
nous sélectionnons la fonctionnalité qui est en rapport avec les services
Active Directory,
Puis,
il ne nous reste qu’à démarrer la fenêtre des outils RSAT qui nous intéresse. Commençons
avec la commande dsa.msc
par exemple :
Depuis
cette fenêtre, nous pouvons voir les informations sur les différents comptes
utilisateurs disponibles sur notre domaine JG.BLOG (pour ceux qui sont
habitués à travailler sur du Windows Server, avec ces outils ils ne seront pas
trop dépaysés même comme l’AD cette fois-ci est plutôt sur un serveur GNU/Linux 😎)
On
peut tout faire (ou presque tout faire) comme sur notre serveur, nous pouvons par
exemple créer un nouvel utilisateur :
Pour
créer un profil itinérant, nous sélectionnons juste un compte utilisateur déjà existant
puis au niveau des propriétés du compte en question, il faut se rendre sur l’onglet
Profil et
définir le chemin du profil (en fait le dossier où seront sauvegardées les
informations relatives au profil) ainsi que le dossier de base du profil (qui
n’est rien d’autre que le disque de stockage réseau lié au profil).
Pour
vérifier que le profil est bien itinérant, il suffit de se rendre dans profil des utilisateurs
et vérifier que nous apercevons bien la mention « Itinérant » dans
les onglets Type
et Statut qui
se trouvent à proximité de notre compte concerné.
Et
enfin, en ce qui concerne le disque dur réseau associé au compte en question,
il suffit juste d’aller vérifier au niveau des Emplacements réseau :
Et
voilà, notre compte utilisateur est bel et bien maintenant un profil itinérant.
On
peut tout aussi à l’aide des outils RSAT, créer un groupe d’utilisateur, modifier
des informations, supprimer des comptes et autres, créer une unité
d’organisation, …
Nous
pouvons même aller encore plus loin en créant par exemple une stratégie de
groupe GPO (Group Policy Object) pour l’ensemble de nos comptes utilisateur du
domaine JG.BLOG.
Pour
ce faire, cette fois-ci, on va ouvrir une nouvelle fenêtre avec la commande mmc :
Ensuite,
sélectionner Ajouter/Supprimer
un composant logiciel enfichable ,
Puis,
nous choisissons Editeur
de gestion de stratégie de groupe ;
Nous
devons sélectionner l’objet de stratégie de groupe associé à notre domaine
JG.BLOG :
Une
fois que c’est fait, nous cliquons sur le bouton Terminer, puis Ajouter et enfin OK.
Bien,
a présent supposons par exemple qu’on souhaite mettre en place une stratégie de
groupe qui interdit systématiquement l’utilisation de stockages amovibles (clés
USB, disques durs externes, cartes mémoires et autres) sur l’ensemble de notre
réseau pour que nos différents comptes clients ne puissent s’échanger des
informations (fichiers, documents, …) qu’à travers les dossiers de partage de notre
contrôleur de domaine.
Pour
ce faire, on sélectionne tour à tour : Stratégie Default Domain Policy > Configuration Utilisateur
> Stratégies
> Modèles
d’administration > Système > Accès au stockage amovible > Toutes les classes de stockage amovible.
Puis,
on sélectionne l’option Activé et OK pour appliquer la stratégie de groupe.
Ainsi,
pour tous les ordinateurs connectés au sein du domaine, les ports USB sont en
quelques sortes « désactivés ». Si les utilisateurs souhaitent partager
leurs documents et tous autres fichiers, ils savent quoi faire 😁.
À
présent, vous savez comment installer, configurer et mettre en place un contrôleur
de domaine sur un système GNU/Linux grâce notamment à Samba, mais aussi comment
y configurer des comptes utilisateurs classiques, et même itinérants, et enfin
comment y définir une stratégie de groupe GPO via les outils RSAT.
Merci
d’avoir suivi le tutoriel jusqu’à la fin.
À
très bientôt !!!
Aucun commentaire :
Enregistrer un commentaire