Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
samba-active-directory [Le 27/01/2015, 14:57]
185.42.28.224 [Installation à partir des sources]
samba-active-directory [Le 31/01/2024, 21:48] (Version actuelle)
Amiralgaby via WikiCorrector - correction affichage de deux tirets pour une option
Ligne 1: Ligne 1:
-{{tag>​samba administration windows réseau}}+{{:​icons:​icon-server.png}} ​{{tag>​samba administration windows réseau}}
 ====== Samba - Active Directory Domain Controller (AD DC) ====== ====== Samba - Active Directory Domain Controller (AD DC) ======
  
-Le projet Samba est surtout connu pour le partage de fichiers selon le protocole SMB développé par Microsoft. La version 4 de ce logiciel apporte la fonctionnalité supplémentaire d'un contrôleur de domaine Active Directory (Active Directory Domain Controller - AD DC). Cette fonctionnalité inclue en natif les services [[:​dns|DNS]],​ [[:​openldap-server|LDAP]],​ [[http://​fr.wikipedia.org/​wiki/​Kerberos_%28protocole%29|Kerberos]],​ [[http://​fr.wikipedia.org/​wiki/​Remote_procedure_call|RPC]] et [[http://​fr.wikipedia.org/​wiki/​Server_Message_Block|SMB 3.0]] ainsi que la distribution et la gestion des [[http://​fr.wikipedia.org/​wiki/​Strat%C3%A9gies_de_groupe|GPO]].+Le projet Samba est surtout connu pour le partage de fichiers selon le protocole SMB développé par Microsoft. La version 4 de ce logiciel apporte la fonctionnalité supplémentaire d'un contrôleur de domaine Active Directory (Active Directory Domain Controller - AD DC). Cette fonctionnalité inclue en natif les services [[:​dns|DNS]],​ [[http://​guide.ubuntu-fr.org/​server/​openldap-server.html|LDAP]], [[wpfr>Kerberos_%28protocole%29|Kerberos]],​ [[wpfr>Remote_procedure_call|RPC]] et [[wpfr>Server_Message_Block|SMB 3.0]] ainsi que la distribution et la gestion des [[wpfr>Strat%C3%A9gies_de_groupe|GPO]].
  
-<note importante>​Une connaissance préalable de AD DC de Microsoft et des fonctionnalités et protocols ​tels que DNS, LDAP, Kerberos, RPC, GPO, SMB, ... est un atout pour la bonne compréhension et mise en oeuvre ​de Samba AD DC. Cette documentation s'​adresse donc principalement aux administrateurs système.</​note>​+<note importante>​Une connaissance préalable de AD DC de Microsoft et des fonctionnalités et protocoles ​tels que DNS, LDAP, Kerberos, RPC, GPO, SMB, ... est un atout pour la bonne compréhension et mise en œuvre ​de Samba AD DC. Cette documentation s'​adresse donc principalement aux administrateurs système.</​note>​
  
 Samba AD DC permet de créer un DC compatible avec les produits Microsoft Windows Server allant de 2000 à 2012. Cependant, toutes les fonctionnalités avancées ne sont pas encore implémentées. Selon les cas, probablement au sein des PME, Samba AD DC pourrait parfaitement remplacer ces produits. Samba AD DC permet de créer un DC compatible avec les produits Microsoft Windows Server allant de 2000 à 2012. Cependant, toutes les fonctionnalités avancées ne sont pas encore implémentées. Selon les cas, probablement au sein des PME, Samba AD DC pourrait parfaitement remplacer ces produits.
Ligne 10: Ligne 10:
 ===== Versions ===== ===== Versions =====
  
-La version stable actuelle de samba est depuis fin 2013 la 4.1. La liste des versions ainsi que leur support est disponible sur [[https://​wiki.samba.org/​index.php/​Samba_Release_Planning#​Samba_Release_Planning_and_Supported_Release_Lifetime|Release Planning and Lifetime]]. De plus, [[http://​www.samba.org/​samba/​history/​|l'​historique des versions stables]] est également disponible.+La liste des versions ​de Samba ainsi que leur support est disponible sur [[https://​wiki.samba.org/​index.php/​Samba_Release_Planning#​Samba_Release_Planning_and_Supported_Release_Lifetime|Release Planning and Lifetime]]. De plus, [[http://​www.samba.org/​samba/​history/​|l'​historique des versions stables]] est également disponible.
  
-Samba en version 4 fut premièrement disponible via le paquet **samba4**. Ce paquet ​est disponible pour toutes les versions d'​Ubuntu allant de Lucid (10.04) à Trusty (14.04 LTS). Cependant, il s'agit là d'un paquet de transition qui ne sera pas conservé sur le long terme. Samba en version 4 devient ​la version de base du paquet **samba** à partir de Trusty ​(14.04 LTS). Il est donc conseillé aux utilisateurs de Trusty et des versions qui suiveront de ne plus utiliser le paquet //samba4// mais bien le paquet **samba**. Sous Trusty, samba est fourni en version 4.1.3. +Samba en version 4 est devenu ​la version de base du paquet **samba** à partir de [[:trusty|Trusty 14.04 LTS]].
-<​note>​Sous Trusty, le paquet samba4 sert uniquement à installer par le mécanisme de dépendance le paquet samba.</​note>​+
  
-Samba en version ​3 et ne devraient pas co-exister sur une même machineSi Samba est déjà installévous pouvez en vérifier sa version ​en tapant : +La version de Samba peut légèrement évoluer avec les mises à jour de sécurité. A la sortie de [[:​bionic|Bionic 18.04 LTS]], la version ​est 4.7.6. La documentation qui suit est basée sur cette dernière version. Néanmoinselle essaye de montrer quelques différences qui peuvent exister entre cette version ​et les précédentes.
-<​code>​samba -V</​code>​+
  
-La documentation qui suit est basée sur Ubuntu Trusty avec samba en version 4.1.3. L'​ensemble des manipulations qui suivent requiert des droits administrateurs (local sur la machine ou domaine). 
 ===== Installation de Samba===== ===== Installation de Samba=====
 ==== Paramètres généraux ==== ==== Paramètres généraux ====
-Avant toute installation,​ il est nécessaire de definir ​son environnement. Ainsi, il sera possible de configurer correctement son serveur. Le reste de cette documentation se basera sur les paramètres suivants :+Avant toute installation,​ il est nécessaire de définir ​son environnement. Ainsi, il sera possible de configurer correctement son serveur. Le reste de cette documentation se basera sur les paramètres suivants ​((Conformément aux [[https://​tools.ietf.org/​html/​rfc2606|RFC 2606]] (Reserved Top Level DNS Names) et [[https://​tools.ietf.org/​html/​rfc5737|RFC 5737]] (IPv4 Address Blocks Reserved for Documentation) )):
  
 |Nom de domaine |example.com | \\ RFC 2606 |Nom de domaine |example.com | \\ RFC 2606
Ligne 27: Ligne 24:
 |Nom de NetBIOS |example | |Nom de NetBIOS |example |
 |Nom du serveur |ubndc01 | |Nom du serveur |ubndc01 |
-|Adresse IP du serveur |192.168.1.11 |+|Adresse IP du serveur |192.0.2.11 |
 |Rôle du serveur |DC (contrôleur de domaine) | |Rôle du serveur |DC (contrôleur de domaine) |
  
 ==== Pré-requis ==== ==== Pré-requis ====
-Afin de bénéficier de l'​ensemble des fonctionnalités de Samba, il est nécessaire d'​activer les [[:​acl|ACL]] et les attributs étendus (user_xattr) sur les partitions concernées par Samba. Pour ce faire, il faut ajouter dans le fichier /etc/fstab les options acl et user_xattr aux partitions en question. L'​ajout de l'​option barrier=1 protège les transactions tdb contre la corruption des fichiers (notamment sam.ldb) lors les coupure d'​électricité ​(ou autre crash système). Celle-ci est fortement recommandée sur un DC.+Afin de bénéficier de l'​ensemble des fonctionnalités de Samba, il est nécessaire d'​activer les [[:​acl|ACL]] et les attributs étendus (user_xattr) sur les partitions concernées par Samba. Pour ce faire, il faut ajouter dans le fichier /etc/fstab les options ​//acl// et //user_xattr// aux partitions en question. L'​ajout de l'​option ​//barrier=1// protège les transactions tdb contre la corruption des fichiers (notamment sam.ldb) lors d'​une ​coupure d'​électricité ou tout autre crash système. Celle-ci est fortement recommandée sur un DC.
  
 Exemple d'une partition dans le ficher /etc/fstab Exemple d'une partition dans le ficher /etc/fstab
Ligne 39: Ligne 36:
 <​code>​sudo mount -o remount /</​code>​ <​code>​sudo mount -o remount /</​code>​
  
-Le noyau d'​Ubuntu ​Trusty ​provenant des dépôts a bien les options XATTR, SECURITY et POSIX_ACL pour les systèmes de fichier ext3 et ext4. Toute autre situation nécessitera de vérifier que ces options aient bien été activées lors de la compilation du noyau pour le système de fichier choisi.+Le noyau d'​Ubuntu provenant des dépôts a bien les options(([[/​kernel#​configuration_du_noyau_utilise|cf. configuration du noyau utilisé]])) ​XATTR, SECURITY et POSIX_ACL pour les systèmes de fichier ext3 et ext4. Toute autre situation nécessitera de vérifier que ces options aient bien été activées lors de la compilation du noyau pour le système de fichier choisi.
  
-Afin de vérifier le bon fonctionnement des ACL et des attributs étendus, il faut se repporter ​aux sections [[#Tests des ACL|Tests des ACL]] et [[#Tests des attributs étendus|Tests des attributs étendus]].+Afin de vérifier le bon fonctionnement des ACL et des attributs étendus, il faut se reporter ​aux sections [[#Test des ACL|Test des ACL]] et [[#Test des attributs étendus|Test des attributs étendus]].
  
-Active Directory nécessite une synchronisation de temps précise entre les postes clients et le(s) DC(s). Il est vivement recommandé de mettre en œuvre le protocole [[:​ntp|NTP]] ou tout autre solution de synchronisation. La page [[https://​wiki.samba.org/​index.php/​Configure_NTP|Configure NTP]] donne les indications de configuration du NTP avec la stratégie (policy[[https://​fr.wikipedia.org/​wiki/​SELinux|SELinux]]+Active Directory nécessite une synchronisation de temps précise entre les postes clients et le(s) DC(s). Il est vivement recommandé de mettre en œuvre le protocole [[:​ntp|NTP]] ou tout autre solution de synchronisation ​du temps ([[https://​wiki.samba.org/​index.php/​Time_Synchronisation|Time Synchronisation]]).
  
 A titre d'​exemple,​ voici un fichier de configuration simplifiée de //ntp// qui conviendra sur le DC A titre d'​exemple,​ voici un fichier de configuration simplifiée de //ntp// qui conviendra sur le DC
Ligne 62: Ligne 59:
 restrict 127.0.0.1 restrict 127.0.0.1
 </​file>​ </​file>​
 +
 +**MANQUE LA CONFIGURATION DE LA CARTE RESEAU**
 ==== Installation à partir des dépôts ==== ==== Installation à partir des dépôts ====
-Cette solution a l'​avantage d'​être très simple à mettre en oeuvre. +Il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>samba]]**
-<code>sudo apt-get install ​samba</​code>​+
 ==== Installation à partir des sources ==== ==== Installation à partir des sources ====
 Cette solution s'​adresse aux personnes qui connaissent déjà bien le sujet et qui savent ce qu'​apporte une version plus récente que celle disponible dans les dépôts. N'​hésitez pas à consulter la page [[https://​wiki.samba.org/​index.php/​Build_Samba|Build Samba]] Cette solution s'​adresse aux personnes qui connaissent déjà bien le sujet et qui savent ce qu'​apporte une version plus récente que celle disponible dans les dépôts. N'​hésitez pas à consulter la page [[https://​wiki.samba.org/​index.php/​Build_Samba|Build Samba]]
- 
-Le projet Samba recommande d'​installer les paquets suivants avant d'​installer Samba 4 (cfr [[https://​wiki.samba.org/​index.php/​Samba_4/​OS_Requirements#​Debian_or_Ubuntu|OS Requirements]]) : 
-<​code>​sudo apt-get install acl build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev \ 
-libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev \ 
-dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev</​code>​ 
-Ensuite, il faut télécharger,​ décompresser,​ compiler et installer samba à partir des sources. 
-<​code>​wget http://​www.samba.org/​samba/​ftp/​stable/​samba-4.1.8.tar.gz 
-tar xvzf samba-4.1.8.tar.gz 
-cd samba-4.1.8 
-./configure 
-make && make install 
-</​code>​ 
-<note important>​Si vous installez Samba à partir des sources, les chemins pour accéder aux différents fichiers seront certainement différents de ceux utilisés par la distribution. 
- 
-Il sera également nécessaire d'​installer //​samba-tool//​ à partir des dépôts (cfr **[[apt>​samba-common-bin]]** ou **[[apt>​samba4-common-bin]]**) ou à partir des sources</​note>​ 
  
 ===== Création d'un premier DC dans une nouvelle forêt ===== ===== Création d'un premier DC dans une nouvelle forêt =====
Ligne 87: Ligne 70:
  
 ==== Initialisation de Samba ==== ==== Initialisation de Samba ====
-Préalablement à l'​iniatilisation ​de Samba, il faut supprimer ou renommer le fichier smb.conf+Préalablement à l’initialisation ​de Samba, il faut supprimer ou renommer le fichier smb.conf
 <​code>​sudo mv --backup=t /​etc/​samba/​smb.conf /​etc/​samba/​smb.conf.old</​code>​ <​code>​sudo mv --backup=t /​etc/​samba/​smb.conf /​etc/​samba/​smb.conf.old</​code>​
  
-L'​initialisation va créer plusieurs fichiers type base de données stockés dans /​var/​lib/​samba/​private/​ ainsi que le fichier /​etc/​samba/​smb.conf+L'​initialisation va créer plusieurs fichiers type base de données stockés dans /​var/​lib/​samba/​private/​ ainsi que le fichier /​etc/​samba/​smb.conf. Pour connaître, l'​ensemble des options relatives à l'​initialisation,​ il est recommandé d'​exécuter 
 +<​code>​samba-tool domain provision --help </​code>​ 
 +Parmi celles-ci, il est recommandé d'​utiliser au moins les deux options suivantes 
 +  * L'​option //​%%--use-rfc2307%%//​ active les attributs Posix et crée les informations NIS dans l'AD. Ceci permet d'​administrer les UIDs/GIDs et autres paramètres UNIX (visibles sous l'​onglet "Unix attributes"​ de l'​[[http://​technet.microsoft.com/​en-us/​library/​cc754217.aspx|ADUC]]). Il est plus simple de l'​activer durant l'​initialisation plutôt que par la suite. De plus, même si vous n'en avez pas (encore) besoin, ceci n'​impacte pas les performances de votre installation. 
 +  * L'​option //​%%--interactive%%//​ rend le processus d'​initialisation interactif. L'​utilisateur devra répondre à quelques questions pour paramétrer la création du domaine. Sans cette option, le processus d'​initialisation se base sur les valeurs existantes dans le fichier /​etc/​samba/​smb.conf et sur les valeurs par défaut.
  
 <​code>​ sudo samba-tool domain provision --use-rfc2307 --interactive</​code>​ <​code>​ sudo samba-tool domain provision --use-rfc2307 --interactive</​code>​
  
-L'​option //​--use-rfc2307//​ active les attributs Posix et crée les informations NIS dans l'AD. Ceci permet d'​administrer les UIDs/GIDs et autres paramètres UNIX (visibles sous l'​onglet "Unix attributes"​ de l'​[[http://​technet.microsoft.com/​en-us/​library/​cc754217.aspx|ADUC]]). Il est plus simple de l'​activer durant l'​initialisation plutôt que par la suite. De plus, même si vous n'en avez pas (encore) besoin, ceci n'​impacte pas votre installation. 
- 
-L'​option //​--interactive//​ va poser quelques questions pour la création du domaine. Pour connaître, l'​ensemble des options relatives à l'​initialisation,​ il est recommandé d'​exécuter 
-<​code>​samba-tool domain provision --help </​code>​ 
 Si les valeurs satisfont, il ne faut alors que les valider par ENTER Si les valeurs satisfont, il ne faut alors que les valider par ENTER
 <​code>​Realm [EXAMPLE.COM]:​ <​code>​Realm [EXAMPLE.COM]:​
Ligne 103: Ligne 86:
 Server Role (dc, member, standalone) [dc]: Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL,​ BIND9_FLATFILE,​ BIND9_DLZ, NONE) [SAMBA_INTERNAL]:​ DNS backend (SAMBA_INTERNAL,​ BIND9_FLATFILE,​ BIND9_DLZ, NONE) [SAMBA_INTERNAL]:​
-DNS forwarder IP address (write '​none'​ to disable forwarding) [192.168.10.1]:+DNS forwarder IP address (write '​none'​ to disable forwarding) [192.0.2.1]:
 Administrator password: Administrator password:
 Retype password:</​code>​ Retype password:</​code>​
  
-  * Par défaut, l'​initialisation propose le serveur DNS interne de Samba (SAMBA_INTERNAL) comme serveur DNS. Il est possible d'​utiliser Bind comme serveur DNS d'​arrière-plan (backend). Si vous choisissez [[http://​bind-dlz.sourceforge.net/​|BIND9_DLZ]] lors de l'​initialisation,​ référez-vous au wiki [[http://​wiki.samba.org/​index.php/​Samba_AD_DC_HOWTO#​BIND_as_DNS_backend|Bind as DNS backend]]. A tout moment, il est possible de changer de serveur DNS d'​arrière-plan (([[http://​wiki.samba.org/​index.php/​DNS#​Changing_from_Internal_DNS_to_BIND|Basculer de Internal ​DNS vers BIND]])). Pour plus d'​information sur la configuration du serveur DNS et trouver celle qui répond à vos besoins, consultez la page [[https://​wiki.samba.org/​index.php/​DNS#​Which_DNS_backend_should_I_choose.3F|Which DNS backend should I choose]]+  * Par défaut, l'​initialisation propose le serveur DNS interne de Samba (SAMBA_INTERNAL) comme serveur DNS. Il est possible d'​utiliser Bind comme serveur DNS d'​arrière-plan (backend). Si vous choisissez [[http://​bind-dlz.sourceforge.net/​|BIND9_DLZ]] lors de l'​initialisation,​ référez-vous au wiki [[https://​wiki.samba.org/​index.php/​BIND9_DLZ_DNS_Back_End|BIND9 DLZ DNS Back End]]. A tout moment, il est possible de changer de serveur DNS d'​arrière-plan (([[https://​wiki.samba.org/​index.php/​Changing_the_DNS_Back_End_of_a_Samba_AD_DC|Changing the DNS Back End of a Samba AD DC]])). Pour plus d'​information sur la configuration du serveur DNS et trouver celle qui répond à vos besoins, consultez la page [[https://​wiki.samba.org/​index.php/​The_Samba_AD_DNS_Back_Ends|Samba AD DNS Back Ends]]
   * Le mot de passe du compte Administrator du domaine doit respecter les règles de complexité,​ à savoir : au moins une majuscule, un chiffre et 8 caractères de long (par exemple : P@ssw0rd).   * Le mot de passe du compte Administrator du domaine doit respecter les règles de complexité,​ à savoir : au moins une majuscule, un chiffre et 8 caractères de long (par exemple : P@ssw0rd).
-  * Dans le cas d'une ré-initialisation,​ en plus des mesures déjà décrites ci-dessus, il sera nécessaire de préallablement ​supprimer les fichiers de base de données privés de Samba+  * Dans le cas d'une ré-initialisation,​ en plus des mesures déjà décrites ci-dessus, il sera nécessaire de préalablement ​supprimer les fichiers de base de données privés de Samba
 <​code>​rm -rf /​var/​lib/​samba/​private/​*</​code>​ <​code>​rm -rf /​var/​lib/​samba/​private/​*</​code>​
  
Ligne 115: Ligne 98:
 <​code>​sudo samba-tool user setpassword administrator</​code></​note>​ <​code>​sudo samba-tool user setpassword administrator</​code></​note>​
  
-==== Démarrer Samba AD DC ====+===== Ajout d'un DC additionnel dans une forêt existante ===== 
 +==== Paramètres spécifiques ==== 
 +Pour cette documentation,​ les paramètres suivants seront utilisés ((Conformément aux [[https://​tools.ietf.org/​html/​rfc2606|RFC 2606]] (Reserved Top Level DNS Names) et [[https://​tools.ietf.org/​html/​rfc5737|RFC 5737]] (IPv4 Address Blocks Reserved for Documentation) )): 
 + 
 +|Nom du serveur |ubndc02 | 
 +|Adresse IP du serveur |192.0.2.12| 
 +|Rôle du serveur |DC (contrôleur de domaine) | 
 + 
 +==== Initialisation de Samba ==== 
 +Préalablement à l'​initialisation de Samba, il faut supprimer ou renommer le fichier smb.conf 
 +<​code>​sudo mv --backup=t /​etc/​samba/​smb.conf /​etc/​samba/​smb.conf.old</​code>​ 
 + 
 +L'​initialisation va créer plusieurs fichiers type base de données stockés dans /​var/​lib/​samba/​private/​ ainsi que le fichier /​etc/​samba/​smb.conf 
 + 
 +<​code>​sudo samba-tool domain join example.com DC -U administrator --realm=EXAMPLE.COM</​code>​ 
 + 
 +<note important>​Après cette commande, **il faut vérifier** si certains enregistrements dans le DNS sont bien présents ! L'​absence de ceux-ci empêchera le fonctionnement du contrôleur de domaine additionnel (cfr [[https://​wiki.samba.org/​index.php/​Check_and_fix_DNS_entries_on_DC_joins|Check and fix DNS entries on DC joins]] et [[https://​bugzilla.samba.org/​show_bug.cgi?​id=10928|Bug 10928]] résolu avec Samba 4.7). 
 + 
 +Vérification de la résolution du nom '​ubndc02.example.com'​ 
 +<​code>​host -t A ubndc02.example.com. 
 +ubndc02.example.com has address 192.0.2.21</​code>​ 
 + 
 +En cas d'​erreur,​ il faut ajouter ou corriger l'​enregistrement DNS 
 +<​code>​samba-tool dns add ubndc01 example.com ubndc02 A 192.0.2.21 -U administrator</​code>​ 
 + 
 +Vérification de la résolution de l'​alias du nom sur base du GUID de l'​objet. Cette première commande va permettre de trouver le GUID de l'​objet. Au besoin, il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​ldb-tools]]**. 
 +<​code>​sudo ldbsearch -H /​var/​lib/​samba/​private/​sam.ldb '​(invocationId=*)'​ --cross-ncs objectguid 
 +# record 1 
 +dn: CN=NTDS Settings,​CN=UBNDC02,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com 
 +objectGUID: df4bdd8c-abc7-4779-b01e-4dd4553ca3e9 
 + 
 +# record 2 
 +dn: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com 
 +objectGUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f 
 + 
 +# returned 2 records 
 +# 2 entries 
 +# 0 referrals 
 +</​code>​ 
 +Vérification de la résolution de l'​alias du nom '​df4bdd8c-abc7-4779-b01e-4dd4553ca3e9._msdcs.example.com'​ 
 +<​code>​host -t CNAME df4bdd8c-abc7-4779-b01e-4dd4553ca3e9._msdcs.example.com. 
 +df4bdd8c-abc7-4779-b01e-4dd4553ca3e9._msdcs.example.com is an alias for ubndc02.example.com.</​code>​ 
 + 
 +En cas d'​erreur,​ il faut ajouter ou corriger l'​enregistrement DNS 
 +<​code>​samba-tool dns add ubndc01 _msdcs.example.com df4bdd8c-abc7-4779-b01e-4dd4553ca3e9 CNAME ubndc02.example.com -U administrator</​code>​ 
 +**Il est possible qu'il manque encore d'​autres enregistrements DNS.** L'​administrateur devra les ajouter manuellement. 
 +</​note>​ 
 +===== Démarrer Samba AD DC =====
 Avant de démarrer Samba AD DC, il est important de vérifier la bonne configuration du DNS. Avant de démarrer Samba AD DC, il est important de vérifier la bonne configuration du DNS.
-Le fichier /​etc/​resolv.conf devrait contenir ​+Le fichier /​etc/​resolv.conf devrait contenir
 <file - /​etc/​resolv.conf>​search example.com <file - /​etc/​resolv.conf>​search example.com
 nameserver 127.0.0.1</​file>​ nameserver 127.0.0.1</​file>​
-Si ce fichier est géré par //​resolvconf//,​ il faut le configurer correctement,​ par exemple, en ajoutant ou modifiant l'​option //​dns-nameservers 127.0.0.1// dans le fichier /​etc/​network/​interfaces. ​ 
-<file - /​etc/​network/​interfaces>​... 
-iface eth0 inet static 
-    ... 
-    dns-nameservers 127.0.0.1 
-    ...</​file>​ 
-Après avoir modifié ce fichier, il faut exécuter la commande suivante pour prendre en compte cette modification. 
-<​code>​sudo service networking restart</​code>​ 
  
-Une alternative serait ​de supprimer le paquet //​resolvconf// ​et de configurer manuellement le fichier /​etc/​resolv.conf.+En fonction ​de la configuration réseau utilisée, ces paramètres peuvent être statiques ou gérer par un autre sous-système (se référer à [[tutoriel:​comment_configurer_son_reseau_local|Comment configurer son réseau local ?]], [[dns#​configuration_d_un_dns_alternatif|Configuration d'un DNS alternatif]] ​et [[utilisateurs:​ool:​netplan|netplan]])
  
-Le service Samba se gère via [[:​upstart|Upstart]] et la commande //​service//​. Avant de démarrer Samba AD DC, il faut d'​abord arrêter les services //smbd// et //nmbd//.  +Le service Samba se gère de préférence via [[:​systemd|systemd]] et la commande //​systemctl//​ mais peut également se gérer ​via [[:​upstart|Upstart]] et la commande //​service//​. Avant de démarrer Samba AD DC, il faut d'​abord arrêter les services //smbd// et //​nmbd// ​(//​samba.service//​).  
-<​code>​sudo ​service smbd stop +<​code>​sudo ​systemctl ​stop samba.service 
-sudo service ​nmbd stop +sudo systemctl start samba-ad-dc.service</​code>​
-sudo service ​samba-ad-dc ​start</​code>​+
  
 Pour connaître l'​ensemble des services démarrés par samba : Pour connaître l'​ensemble des services démarrés par samba :
Ligne 152: Ligne 173:
 On y voit, dans l'​ordre,​ les services suivants DNS, NetBIOS, RPC, Connection-less LDAP (CLDAP), WinBind, KDC (Kerberos Distribution Center), DSDB Replication (Directory Service DataBase Replication),​ KCC (Knowledge Consistency Checker), LDAP. Tous ces services sont configurés soit dans /​etc/​samba/​smb.conf,​ soit dans les fichiers /​var/​lib/​samba/​private/​*. On y voit, dans l'​ordre,​ les services suivants DNS, NetBIOS, RPC, Connection-less LDAP (CLDAP), WinBind, KDC (Kerberos Distribution Center), DSDB Replication (Directory Service DataBase Replication),​ KCC (Knowledge Consistency Checker), LDAP. Tous ces services sont configurés soit dans /​etc/​samba/​smb.conf,​ soit dans les fichiers /​var/​lib/​samba/​private/​*.
  
-===== Test de Samba AD DC =====+===== Tests de Samba AD DC =====
 Samba AD DC est composé de beaucoup de services différents qui interagissent. Les tests qui suivent se focaliseront sur l'un ou l'​autre point. Samba AD DC est composé de beaucoup de services différents qui interagissent. Les tests qui suivent se focaliseront sur l'un ou l'​autre point.
  
-==== Tests des ACL ==== +==== Test des ACL ==== 
-Pour tester les ACL, il faut installer le paquet **[[apt>​acl]]** +Pour tester les ACL, il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​acl]]**. 
-<​code>​sudo apt-get install acl</​code>​+
 Le paquet //acl// va, entre autre, installer les commandes //setfacl// et //getfacl// afin de définir et lire les ACL sur un fichier. Le paquet //acl// va, entre autre, installer les commandes //setfacl// et //getfacl// afin de définir et lire les ACL sur un fichier.
  
Ligne 170: Ligne 191:
 user::rw- user::rw-
 group::rw- group::rw-
-group:adm:rw-+group:adm:rwx
 mask::rw- mask::rw-
 other::​r--</​code>​ other::​r--</​code>​
 Si aucune erreur n'est retournée, les ACL sont bien activées et utilisables. Si aucune erreur n'est retournée, les ACL sont bien activées et utilisables.
-==== Tests des attributs étendus ====+==== Test des attributs étendus ====
 Pour tester les attributs étendus, il faut installer le paquet **[[apt>​attr]]**. Ce paquet devrait déjà être installé car il s'agit d'une dépendance de //samba//. Pour tester les attributs étendus, il faut installer le paquet **[[apt>​attr]]**. Ce paquet devrait déjà être installé car il s'agit d'une dépendance de //samba//.
 <​code>​sudo apt-get install attr</​code>​ <​code>​sudo apt-get install attr</​code>​
 Le paquet //attr// va, entre autre, installer les commandes //​setfattr//​ et //​getfattr//​ afin de définir et lire les attributs étendu d'un fichier. Le paquet //attr// va, entre autre, installer les commandes //​setfattr//​ et //​getfattr//​ afin de définir et lire les attributs étendu d'un fichier.
  
-Pour vérifier le fonctionnement des attributs étendus, on peut exécuter les commandes ci-dessous sur un fichier d'une partition qui a les attributs étentus activé ​+Pour vérifier le fonctionnement des attributs étendus, on peut exécuter les commandes ci-dessous sur un fichier d'une partition qui a les attributs étentus activé
  
 Pour ajouter des attributs étendus : Pour ajouter des attributs étendus :
Ligne 193: Ligne 214:
 security.secName="​secValue"</​code>​ security.secName="​secValue"</​code>​
 Si aucune erreur n'est retournée, les attributs étendus sont bien activés et utilisables. Si aucune erreur n'est retournée, les attributs étendus sont bien activés et utilisables.
-==== Tests du DNS ==== +==== Test du DNS ==== 
-Pour tester le DNS, il faut installer le paquet **[[apt>​dnsutils]]**. Ce paquet devrait déjà être installé car il s'agit d'une dépendance de //​ubuntu-standard//​. +Pour tester le DNS, il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​dnsutils]]**. Ce paquet devrait déjà être installé car il s'agit d'une dépendance de //​ubuntu-standard//​. 
-<​code>​sudo apt-get install dnsutils</​code>​+
 Le paquet //​dnsutils//​ va, entre autre, installer les commandes //dig//, //​nslookup//​ et //​nsupdate//​ afin d'​interroger et mettre à jour le serveur DNS. Ce paquet n'​installe pas un serveur DNS. Le paquet //​dnsutils//​ va, entre autre, installer les commandes //dig//, //​nslookup//​ et //​nsupdate//​ afin d'​interroger et mettre à jour le serveur DNS. Ce paquet n'​installe pas un serveur DNS.
  
Ligne 211: Ligne 232:
 <​code>​dig ubndc01.example.com <​code>​dig ubndc01.example.com
 ... ...
-ubndc01.example.com. ​    ​900 ​    ​IN ​     A       192.168.1.11+ubndc01.example.com. ​    ​900 ​    ​IN ​     A       192.0.2.11
 ... ...
 ;; SERVER: 127.0.0.1#​53(127.0.0.1) ;; SERVER: 127.0.0.1#​53(127.0.0.1)
Ligne 237: Ligne 258:
 <file conf /​etc/​samba/​smb.conf>​ <file conf /​etc/​samba/​smb.conf>​
 ... ...
-        dns forwarder = 192.168.1.1+        dns forwarder = 192.0.2.1
 ...</​file>​ ...</​file>​
 Si tel est le cas, il faut vérifier qu'il s'​agisse de la bonne IP et que la requête aboutisse correctement sur cet autre serveur DNS. Par exemple avec : Si tel est le cas, il faut vérifier qu'il s'​agisse de la bonne IP et que la requête aboutisse correctement sur cet autre serveur DNS. Par exemple avec :
-<​code>​dig doc.ubuntu-fr.org @192.168.1.1</​code>​+<​code>​dig doc.ubuntu-fr.org @192.0.2.1</​code>​
  
-==== Tests de Kerberos ==== +==== Test de Kerberos ==== 
-Pour tester le Kerberos, il faut installer le paquet **[[apt>​krb5-user]]** +Pour tester le Kerberos, il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​krb5-user]]**
-<​code>​sudo apt-get install krb5-user</​code>​+
  
 Le paquet //​krb5-user//​ va, entre autre, installer les commandes //kinit// et //klist// qui permettent d'​interroger et tester un serveur kerberos. Ce paquet n'​installe pas un serveur kerberos. Le paquet //​krb5-user//​ va, entre autre, installer les commandes //kinit// et //klist// qui permettent d'​interroger et tester un serveur kerberos. Ce paquet n'​installe pas un serveur kerberos.
Ligne 279: Ligne 299:
 </​code>​ </​code>​
  
-==== Tests de SMB ==== +==== Test de SMB ==== 
-Pour tester les SMB, il faut installer le paquet **[[apt>​smbclient]]** +Pour tester les SMB, il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​smbclient]]** 
-<​code>​sudo apt-get install smbclient</​code>​+
 Si //samba// a été installé à partir des sources, il faut veiller à avoir une //​smbclient//​ en version 4 également. Si //samba// a été installé à partir des sources, il faut veiller à avoir une //​smbclient//​ en version 4 également.
  
Ligne 308: Ligne 328:
 ...</​code>​ ...</​code>​
 Le résultat doit être identique au précédent si on introduit le bon mot de passe pour le compte administrator. Le résultat doit être identique au précédent si on introduit le bon mot de passe pour le compte administrator.
 +===== Gestion de Samba AD DC =====
 +==== Vérification de la synchronisation en plusieurs DC ====
 +La commande //​samba-tool//​ permet de voir l'​état de réplication.
 +<​code>​samba-tool drs showrepl</​code>​
 +Au besoin, il faut utiliser l'​option //-U administrator//​ pour obtenir le résultat.
 +==== Gestion des rôles FSMO ====
 +Les rôles FSMO ((Flexible Single-Master Operations)) sont, selon Microsoft (([[https://​technet.microsoft.com/​en-us/​library/​cc961939.aspx|Microsoft FSMO roles]])), au nombre de 5 :
 +  * Schema Master: 1 par forêt
 +  * Domain Naming Master: 1 par forêt
 +  * Relative Identifier Master ((RID Master)) : 1 par domaine
 +  * Primary Domain Controller Emulator ((PDC Emulator)) : 1 par domaine
 +  * Infrastructure Master: 1 par domaine
 +Le projet Samba a ajouté à ceux-ci 2 rôles supplémentaires (([[https://​wiki.samba.org/​index.php/​Flexible_Single-Master_Operations_(FSMO)_Roles|Samba FSMO roles]]))
 +  * Forest DNS Zones Master: 1 par forêt
 +  * Domain DNS Zones Master: 1 par domaine
 +=== Voir les propriétaires des rôles FSMO ===
 +La commande //​samba-tool//​ permet de voir les propriétaires de chaque rôle FSMO. L'​exécution doit se faire sur un contrôleur de domaine.
 +<​code>​sudo samba-tool fsmo show
 +SchemaMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com ​
 +InfrastructureMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com
 +RidAllocationMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com
 +PdcEmulationMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com
 +DomainNamingMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com
 +DomainDnsZonesMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com
 +ForestDnsZonesMasterRole owner: CN=NTDS Settings,​CN=UBNDC01,​CN=Servers,​CN=Default-First-Site-Name,​CN=Sites,​CN=Configuration,​DC=example,​DC=com
 +</​code>​
 +Dans l'​exemple ci-dessus, on voit que le contrôleur de domaine //ubndc01// possède tous les rôles.
 +=== Transfert des rôles FSMO ===
 +La commande //​samba-tool//​ permet de transférer les rôles FSMO d'un contrôleur de domaine à l'​autre(([[https://​wiki.samba.org/​index.php/​Transferring_and_Seizing_FSMO_Roles|Transferring and Seizing FSMO roles]])). L'​exécution doit se faire sur le contrôleur de domaine qui reprend le(s) rôle(s).
 +<​code>​sudo samba-tool fsmo transfer --role=all -U administrator
 +FSMO transfer of '​rid'​ role successful
 +FSMO transfer of '​pdc'​ role successful
 +FSMO transfer of '​naming'​ role successful
 +FSMO transfer of '​infrastructure'​ role successful
 +FSMO transfer of '​schema'​ role successful
 +ERROR: ...
 +</​code>​
 +Il est possible de transférer tous les rôles en même temps avec l'​argument //all// (comme dans l'​exemple ci-dessus) ou de transférer un rôle à la fois. Il est possible de recevoir des messages d'​erreurs lors de l'​exécution. Il faut réessayer et patienter. Après un certains temps (5 à 10 minutes, le temps d'une réplication),​ ça devrait être en ordre et visible avec la commande //​samba-tool fsmo show//.
 +
 +=== Retrait d'un contrôleur de domaine ===
 +Après avoir transférer les rôles que possédait un contrôleur de domaine (s'il en possédait),​ l'​administrateur peut le retirer du domaine avec la commande //​samba-tool//​. L'​exécution doit se faire sur le contrôleur de domaine que l'on retire du domaine avec un compte local (pas du domaine).
 +<​code>​sudo samba-tool domain demote -U administrator
 +Password for [EXAMPLE\administrator]:​
 +Deactivating inbound replication
 +Asking partner server ubndc02.example.com to synchronize from us
 +Changing userControl and container
 +Demote successful</​code>​
 +
  
 ===== Mise à jour depuis un domaine Samba de type NT4 vers un AD===== ===== Mise à jour depuis un domaine Samba de type NT4 vers un AD=====
-Si vous prévoyez la migration depuis un domain Samba NT4 existant vers un domaine Samba AD, reportez-vous à la page [[http://​wiki.samba.org/​index.php/​Samba4/​samba-tool/​domain/​classicupgrade/​HOWTO|Classic Upgrade HowTo]]+Si vous prévoyez la migration depuis un domain Samba NT4 existant vers un domaine Samba AD, reportez-vous à la page [[https://​wiki.samba.org/​index.php/​Samba4/​samba-tool/​domain/​classicupgrade/​HOWTO|Classic Upgrade HowTo]]
  
 ===== Informations optionnelles et complémentaires ===== ===== Informations optionnelles et complémentaires =====
 Le wiki Samba (en anglais) met à disposition de nombreuses documentations complémentaires \\ Le wiki Samba (en anglais) met à disposition de nombreuses documentations complémentaires \\
-  * Pour l'​administration de votre DC : +  * Pour l'​administration de votre DC :
     * [[https://​wiki.samba.org/​index.php/​Backup_and_Recovery|Sauvegarde et restauration]]     * [[https://​wiki.samba.org/​index.php/​Backup_and_Recovery|Sauvegarde et restauration]]
     * [[https://​wiki.samba.org/​index.php/​Setup_and_configure_file_shares|Configuration des partages de fichiers]]     * [[https://​wiki.samba.org/​index.php/​Setup_and_configure_file_shares|Configuration des partages de fichiers]]
Ligne 329: Ligne 397:
  
 ===== Références ===== ===== Références =====
-  * [[http://​wiki.samba.org/​index.php/​Samba|Wiki Samba]]+  * [[https://​wiki.samba.org/​index.php/​Samba|Wiki Samba]]
   * Articles dans Linux Pratique n°79 de sept/oct 2013 (pages 68 à 73) et n°80 de nov/déc (pages 70 à 76)   * Articles dans Linux Pratique n°79 de sept/oct 2013 (pages 68 à 73) et n°80 de nov/déc (pages 70 à 76)
  
 //​Contributeurs principaux : [[utilisateurs:​bcag2|bcag2]],​ [[:​utilisateurs:​Qedinux|Qedinux]]//​ //​Contributeurs principaux : [[utilisateurs:​bcag2|bcag2]],​ [[:​utilisateurs:​Qedinux|Qedinux]]//​
  • samba-active-directory.1422367020.txt.gz
  • Dernière modification: Le 27/01/2015, 14:57
  • par 185.42.28.224