Chapitre 615 minIntermédiaire
Partage SMB et Active Directory sur TrueNAS
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- préparer DNS, heure et nom d'hôte avant la jonction au domaine ;
- joindre TrueNAS à Active Directory et vérifier la jonction ;
- créer un partage SMB et le bon objectif (Purpose) ;
- donner les droits aux groupes du domaine selon AGDLP ;
- rendre les snapshots visibles comme versions précédentes.
4 exercices corrigés1 schéma
Un partage SMB rend un dataset de TrueNAS accessible aux postes Windows comme n'importe quel dossier partagé, sous la forme \\srv-nas\Archives. Joint à Active Directory, TrueNAS authentifie les utilisateurs avec leur compte du domaine, par Kerberos, et applique les ACL aux groupes de l'annuaire : aucun compte à recréer, aucun mot de passe de plus. Ce chapitre décrit les prérequis de la jonction, la jonction elle-même, la création du partage et de ses droits selon AGDLP, puis les versions précédentes, l'audit et les erreurs les plus fréquentes.
Ce qui se passe quand Julie ouvre le partage
Julie Lefèvre, comptable, ouvre \\srv-nas\Archives depuis son poste du domaine. Quatre étapes s'enchaînent, en une fraction de seconde :
- le poste demande au DNS l'adresse de
srv-nas.ad.sorbier.example; - le poste demande au contrôleur de domaine un ticket de service Kerberos pour
cifs/srv-nas.ad.sorbier.example, à l'aide du ticket obtenu à l'ouverture de session ; - le poste ouvre une session SMB 3 sur
srv-nas(TCP 445) en présentant ce ticket ; TrueNAS le vérifie avec la clé de son compte d'ordinateur, sans jamais voir le mot de passe de Julie ; - TrueNAS traduit l'identité de Julie et de ses groupes (des SID Windows) en identifiants Unix, puis applique l'ACL du dataset.
Le service qui fait ce travail côté TrueNAS est Winbind, un composant de Samba, le logiciel libre qui implémente SMB sur Linux. Le cours Authentification explique le fonctionnement de Kerberos.
Préparer la jonction
La jonction échoue presque toujours pour l'une de ces quatre raisons. Vérifie-les avant de commencer.
| Prérequis | Pourquoi | Chez Sorbier |
|---|---|---|
| DNS | TrueNAS doit trouver les contrôleurs par leurs enregistrements SRV, et seul le DNS de l'annuaire les connaît | Nameserver 1 192.168.10.177, Nameserver 2 192.168.10.181, aucun DNS public |
| Heure | Kerberos refuse un ticket si les horloges diffèrent de plus de 5 minutes | NTP sur les contrôleurs ; TrueNAS utilise par défaut l'émulateur PDC du domaine comme serveur de temps préféré |
| Nom d'hôte | Le nom devient le compte d'ordinateur et le nom NetBIOS : 15 caractères au plus, pas de mot réservé (DOMAIN, SERVER…) | srv-nas, identique dans Network > Global Configuration et dans la configuration AD |
| Compte de jonction | Il faut un compte autorisé à créer des comptes d'ordinateurs | Un compte délégué sur l'OU des serveurs, plutôt que l'administrateur du domaine |
Prépare aussi, côté annuaire, l'unité d'organisation où ranger le compte d'ordinateur : OU=Serveurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example, celle du cours Windows Server, pour que srv-nas reçoive les mêmes GPO de sécurité que les autres serveurs membres.
# Sur srv-ad : vérifier que le domaine se résout et que les horloges sont justes
Resolve-DnsName -Type SRV "_ldap._tcp.dc._msdcs.ad.sorbier.example"
w32tm /query /status
Joindre TrueNAS au domaine
- Credentials > Directory Services, bouton Configure Directory Services.
- Configuration Type : Active Directory.
- Cocher Enable Service. Laisser Enable Account Cache (la liste des comptes et des groupes est gardée en cache pour les écrans de droits) et Enable DNS Updates (TrueNAS enregistre lui-même son adresse dans le DNS du domaine).
- Credential Type : Kerberos User. Username : le nom du compte seul, sans le domaine (par exemple
svc-jonction), et son Password. - TrueNAS Hostname :
srv-nas. Domain Name :ad.sorbier.example. Computer Account OU :OU=Serveurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example. - Laisser Use TrueNAS Server IDMAP Defaults coché (voir plus bas), puis Save.
La jonction prend quelques minutes ; le Task Manager, en haut à droite, en suit l'avancement. Quand elle réussit, le widget Active Directory affiche l'état sain du service, et le compte SRV-NAS apparaît dans l'OU des serveurs. Vérifie depuis System > Shell :
wbinfo -t
checking the trust secret for domain SORBIER via RPC calls succeeded
wbinfo -g | grep -i archives
SORBIER\dl_archives_m
SORBIER\dl_archives_l
wbinfo -t teste la relation de confiance entre srv-nas et le domaine ; wbinfo -g liste les groupes du domaine vus par Winbind (wbinfo -u pour les comptes). Si des comptes manquent dans les écrans de droits, le bouton Settings du widget, puis Rebuild Directory Service Cache, recharge le cache.
Les identifiants Unix. Le système de fichiers de TrueNAS stocke des UID et des GID Unix, alors que l'annuaire identifie les comptes par des SID. Le réglage IDMAP dit comment traduire l'un en l'autre. Par défaut, TrueNAS utilise l'algorithme RID : l'UID est calculé à partir de la dernière partie du SID, toujours de la même façon. Deux TrueNAS joints au même domaine avec les mêmes réglages donnent donc le même UID au même utilisateur, ce qui compte pour la réplication du chapitre 9. Ne change ces réglages qu'en connaissant leurs conséquences : une erreur rend les ACL existantes incohérentes.
Créer les groupes AGDLP
Les droits du partage Archives suivent la méthode AGDLP du cours Windows Server : les comptes dans des groupes globaux par fonction, les groupes globaux dans des groupes de domaine local par droit sur la ressource, et les droits donnés aux seuls groupes de domaine local.
| Besoin | Groupe global (fonction) | Groupe de domaine local (droit) | Droit NFSv4 |
|---|---|---|---|
| Les agents de l'entrepôt et le serveur de numérisation déposent les scans | GG_Logisticiens (dont le compte de service svc-scan du serveur de numérisation) | DL_Archives_M | Modify |
| La comptabilité et le service client consultent | GG_Comptables, GG_Service_Client | DL_Archives_L | Read |
| Le service informatique administre | GG_Admins_Stockage | DL_Archives_CT | Full Control |
$ou = "OU=Groupes,OU=Sorbier,DC=ad,DC=sorbier,DC=example"
New-ADGroup -Name "DL_Archives_M" -GroupScope DomainLocal -GroupCategory Security -Path $ou `
-Description "Modification sur \\srv-nas\Archives"
New-ADGroup -Name "DL_Archives_L" -GroupScope DomainLocal -GroupCategory Security -Path $ou `
-Description "Lecture sur \\srv-nas\Archives"
New-ADGroup -Name "DL_Archives_CT" -GroupScope DomainLocal -GroupCategory Security -Path $ou `
-Description "Contrôle total sur \\srv-nas\Archives"
Add-ADGroupMember -Identity "DL_Archives_M" -Members "GG_Logisticiens"
Add-ADGroupMember -Identity "DL_Archives_L" -Members "GG_Comptables", "GG_Service_Client"
Add-ADGroupMember -Identity "DL_Archives_CT" -Members "GG_Admins_Stockage"
Ces commandes supposent que les groupes globaux existent déjà dans l'annuaire, comme GG_Comptables et GG_Logisticiens dans le cours Windows Server ; crée ceux qui manquent avec New-ADGroup -GroupScope Global.
Créer le partage SMB
- Shares, widget Windows (SMB) Shares, bouton Add.
- Path : parcourir jusqu'à
/mnt/tank/archives(ou créer le dataset depuis cet écran avec Create Dataset). TrueNAS refuse le dataset racine d'un pool. - Name :
Archives, le nom que verront les utilisateurs dans\\srv-nas\Archives. - Purpose : Default Share, l'objectif adapté à un partage de fichiers ordinaire. Les autres objectifs répondent à des cas précis :
| Purpose | Usage |
|---|---|
| Default Share | Partage de fichiers général |
| Private Datasets Share | Un dataset personnel créé pour chaque utilisateur à sa connexion, avec un quota automatique : remplace les anciens partages de dossiers personnels |
| Multi-protocol Share | Dossier aussi accédé en NFS ou par une application ; désactive certaines fonctions SMB |
| Time Machine Share | Destination de sauvegarde des Mac |
| Time Locked Share | Les fichiers passent en lecture seule par SMB après un délai de grâce (chapitre 10) |
| External Share | Redirige les clients vers un partage d'un autre serveur, comme un lien DFS |
- Advanced Options : Access Based Share Enumeration masque les dossiers auxquels l'utilisateur n'a pas accès (il est toujours actif sur un dataset en ACL NFSv4) ; Hosts Allow limite les clients, par exemple
192.168.10.64/26(les postes),192.168.10.128/27(l'entrepôt, d'où arrivent les scans) et192.168.10.208/28(l'administration) ; Export Read-Only interdit toute écriture. - Save, puis accepter le démarrage du service SMB (ou System > Services, SMB, avec Start Automatically).
Régler l'ACL du dataset. Dans le menu du partage, Edit Filesystem ACL ouvre l'éditeur d'ACL NFSv4 du dataset. Pars du préréglage NFS4_RESTRICTED, puis ajoute trois entrées de type Group : SORBIER\dl_archives_m en Modify, SORBIER\dl_archives_l en Read, SORBIER\dl_archives_ct en Full Control, toutes avec l'héritage Inherit. Coche Apply permissions recursively, puis Save Access Control List. Ne modifie pas l'entrée builtin_users créée par TrueNAS ; laisse l'ACL du partage (Edit Share ACL) à sa valeur par défaut.
Connecter le lecteur sur les postes
Le partage se connecte comme n'importe quel partage Windows : par une préférence de stratégie de groupe Mappages de lecteurs, ciblée sur les groupes concernés (méthode détaillée dans le cours Windows Server), ou à la main :
New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\srv-nas\Archives" -Persist
# Vérifier la version de SMB, la signature et le chiffrement de la session
Get-SmbConnection -ServerName srv-nas | Select-Object ServerName, ShareName, UserName, Dialect, Signed, Encrypted
La colonne Dialect doit afficher 3.1.1. Si Sorbier utilise un espace de noms DFS (\\ad.sorbier.example\Partages), on y ajoute un lien vers \\srv-nas\Archives : les utilisateurs gardent un chemin unique, quel que soit le serveur qui héberge les données.
Les versions précédentes
Sur TrueNAS 25.10, chaque partage SMB expose automatiquement les snapshots de son dataset comme des clichés instantanés Windows. Un utilisateur qui a écrasé un fichier fait un clic droit sur le fichier ou le dossier, Propriétés, onglet Versions précédentes, choisit une date et clique sur Restaurer ou Ouvrir. Il récupère son fichier sans ticket au support. Deux conditions : une tâche de snapshots périodiques sur le dataset (chapitre 9), et des droits de lecture sur le fichier.
Les utilisateurs ne peuvent pas supprimer ces versions depuis un client SMB : seul l'administrateur de TrueNAS supprime des snapshots, depuis l'interface. C'est l'un des piliers de la protection contre les rançongiciels (chapitre 10).
Auditer les accès
Dans les options avancées du partage, Enable Logging active l'audit SMB : TrueNAS enregistre les connexions, les ouvertures, les écritures, les renommages et les suppressions. La Watch List limite l'audit à certains groupes, l'Ignore List en exclut d'autres (par exemple le compte de sauvegarde, très bavard). Les événements se consultent dans System > Audit et partent vers le serveur de journaux de Sorbier, srv-journaux (192.168.10.180), par syslog chiffré, réglé dans System > Advanced Settings (widget Syslog). Un SIEM peut alors repérer une vague de renommages, signe d'un chiffrement en cours.
Dépanner un partage SMB
| Symptôme | Cause probable | Vérification |
|---|---|---|
| La jonction échoue : contrôleur introuvable | DNS public ou mauvais DNS sur TrueNAS | Network > Global Configuration : seuls les DNS de l'annuaire |
| Jonction refusée, erreur Kerberos ou d'horloge | Écart d'heure supérieur à 5 minutes | Heure du NAS et des contrôleurs, serveurs NTP |
| Les groupes du domaine n'apparaissent pas dans l'éditeur d'ACL | Cache pas encore chargé | Rebuild Directory Service Cache ; wbinfo -g |
| « Accès refusé » pour un utilisateur qui devrait avoir accès | Il n'est pas dans le bon groupe, ou son ticket est antérieur à son ajout | whoami /groups sur le poste ; fermer et rouvrir la session pour obtenir un nouveau ticket |
| Le partage demande un mot de passe à un poste du domaine | Connexion par l'adresse IP : Kerberos a besoin du nom | Utiliser \\srv-nas, pas \\192.168.10.183 |
| Le partage est invisible depuis un poste | Pare-feu, ou Hosts Allow qui exclut le réseau du poste | Test-NetConnection srv-nas -Port 445 ; liste Hosts Allow |
| L'onglet Versions précédentes est vide | Aucune tâche de snapshots sur le dataset | Data Protection > Periodic Snapshot Tasks |
Exercices
Exercice 1 sur 4 La jonction qui échoue Réussi À revoir
Chloé tente de joindre srv-nas au domaine et obtient une erreur indiquant que le domaine est introuvable. Voici la configuration réseau du NAS : Nameserver 1 1.1.1.1, Nameserver 2 192.168.10.177, Hostname srv-nas-archives-lyon.
- Relève deux erreurs.
- Corrige la configuration.
Voir la réponseMasquer la réponse de l'exercice 1
- Le DNS : le premier serveur interrogé est un DNS public, qui ne connaît ni la zone
ad.sorbier.exampleni ses enregistrements SRV ; TrueNAS ne trouve pas les contrôleurs. Le nom d'hôte :srv-nas-archives-lyonfait 21 caractères, au-delà des 15 caractères d'un nom NetBIOS et donc d'un compte d'ordinateur. - Nameserver 1
192.168.10.177, Nameserver 2192.168.10.181, aucun DNS public (les contrôleurs résolvent Internet grâce à leurs redirecteurs) ; Hostnamesrv-nas(7 caractères), identique dans la configuration Active Directory. Vérifier aussi l'heure avant de relancer la jonction.
Tu avais trouvé ?
Exercice 2 sur 4 La matrice du partage Litiges Réussi À revoir
Le service client (GG_Service_Client) doit déposer et modifier les photos des colis endommagés dans un nouveau partage Litiges ; la direction (GG_Direction) doit les consulter ; personne d'autre ne doit le voir.
- Donne les groupes de domaine local à créer et leurs membres.
- Donne les entrées de l'ACL NFSv4 du dataset.
- Quelle option du partage empêche les autres salariés de voir les dossiers ?
Voir la réponseMasquer la réponse de l'exercice 2
DL_Litiges_M, avec pour membreGG_Service_Client;DL_Litiges_L, avec pour membreGG_Direction. (Plus, si besoin,DL_Litiges_CTpour le service informatique.)- À partir du préréglage
NFS4_RESTRICTED:SORBIER\dl_litiges_men Modify avec héritage,SORBIER\dl_litiges_len Read avec héritage. Aucune entréeeveryone@donnant des droits. - Access Based Share Enumeration (l'énumération basée sur l'accès), toujours active sur un dataset en ACL NFSv4 : un utilisateur sans droit de lecture ne voit pas les dossiers.
Tu avais trouvé ?
Exercice 3 sur 4 Le mot de passe demandé Réussi À revoir
Un commercial ouvre le partage par \\192.168.10.183\Archives : Windows lui demande un identifiant et un mot de passe, alors que \\srv-nas\Archives s'ouvre sans rien demander. Explique.
Voir la réponseMasquer la réponse de l'exercice 3
Avec le nom srv-nas, le poste demande au contrôleur un ticket Kerberos pour le service cifs/srv-nas.ad.sorbier.example et s'authentifie de façon transparente. Avec l'adresse IP, aucun ticket Kerberos ne correspond à ce « nom » : Windows tente NTLM, qui peut être restreint par la politique du domaine, et finit par demander des identifiants. Il faut utiliser le nom (ou un chemin DFS), jamais l'adresse.
Tu avais trouvé ?
Exercice 4 sur 4 Restaurer un fichier écrasé Réussi À revoir
Julie a enregistré par erreur un tableau vide par-dessus Rapprochement-octobre.xlsx dans \\srv-nas\Archives\Compta. Le dataset a des snapshots horaires. Décris ce qu'elle peut faire seule, et à quelle condition.
Voir la réponseMasquer la réponse de l'exercice 4
Clic droit sur le fichier, Propriétés, onglet Versions précédentes : elle choisit la version de l'heure précédant l'erreur, puis Ouvrir pour vérifier et Restaurer (ou Copier pour garder les deux versions). Condition : avoir le droit de lecture sur le fichier (et d'écriture pour restaurer en place) ; ici, elle ne peut modifier dans Archives que si son groupe a le droit Modify sur ce dossier, sinon elle copie la version dans un dossier où elle peut écrire, ou demande au support. Les versions apparaissent automatiquement parce que TrueNAS expose les snapshots du dataset comme clichés instantanés.
Tu avais trouvé ?