Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
samba-active-directory [Le 04/03/2014, 10:19]
bcag2 créée
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:
-====== ​samba (4) le  contrôleur de domaine ​Active Directory ​====== +{{:​icons:​icon-server.png}} {{tag>​samba administration windows réseau}} 
-ce documents a été rédigé à partir de plusieurs sources parmi : +====== ​Samba - Active Directory ​Domain Controller ​(AD DC) ====== 
-  * wiki Samba : [[http://​wiki.samba.org/​index.php/​Samba_AD_DC_HOWTO]] + 
-  * articles dans linux pratique n°79 de sept/oct 2013 (pages 68 à 73et linux pratique n°80 de nov/déc (pages 70 à 76) +Le projet Samba est surtout ​connu pour le partage de fichiers selon le protocole SMB développé par MicrosoftLa 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>​ ajoutez vos retours d'​expérience,​ notamment chapitre 5 </​note>​ + 
-===== Introduction ​===== +<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>​ 
-Le projet Samba est surtout ​connut ​pour le partage de fichier.\\ + 
-Samba est une ré-écriture complète initiée en 2003 dans l'​objectif ​de créer, en plus du partage de fichier, ​d'​un ​contrôle ​de domaine ​libre.\\ Il est agrémenté, ​en natif, d'un serveur ​[[:​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]].  +Samba AD DC permet ​de créer un DC compatible avec les produits ​Microsoft ​Windows Server allant ​de 2000 à 2012Cependanttoutes 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.
-<note importante>​Cette documentation s'​adresse principalement ​à des administrateurs ​réseau pour la mise en place d'un serveur de contrôle de domaine et requiert notamment de bonnes notions sur le DNS</​note>​ +
-Ce document explique comment configurer ​Samba comme contrôleur ​de domaine (DCcompatible avec l'​Active Directory (AD) de Microsoft ​(c), notamment pour l'​utilisation ​de connexion de domaine de machines clientes tournants sous Microsoft WindowsEn abréviationnous utiliserons ​AD DC (Active Directory Domain Controler) +
-Si vous réalisez une mise à niveau de votre AD DC, merci de consulter la procédure de mise à niveau de votre distribution ou reportez vous au guide mise à niveau d'une version source.+
  
 ===== Versions ===== ===== Versions =====
-Samba 4, depuis sa version 4.1 sortie fin 2013, est la version stable actuelle. + 
-Retrouver la liste des versions ​est leur support sur [[https://​wiki.samba.org/​index.php/​Samba_Release_Planning#​Current_Stable_Release|Planing (roadmap) Versions Stables]]\\ +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 est développé en continuCe guide est fréquemment mis à jour pour correspondre aux évolutions. Merci de vous référer ​[[http://​www.samba.org/​samba/​history/​|à l'​historique des versions stables ​de Samba]] pour plus d'​informations+ 
-Prenez connaissance de la release notes de la version ​que vous avez installée. Elle peut contenir des informations importantes non contenues dans ce guide. +Samba en version 4 est devenu ​la version de base du paquet **samba** à partir de [[:trusty|Trusty 14.04 LTS]]. 
-Vous pouvez vérifier d'​éventuelle installation précédente ​de samba en tapant ​+ 
-<​code>​ +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éanmoins, elle essaye de montrer quelques différences qui peuvent exister entre cette version et les précédentes.
-dpkg -l samba +
-</​code>​ se reporter ​à la page [[:dpkg|dpkg]] pour plus d'​informations+
  
 ===== Installation de Samba===== ===== Installation de Samba=====
-==== Différentes possibilités d'​installation==== +==== Paramètres généraux ​==== 
-Avant d'​installer Samba 4, il est nécessaire de disposer d'​autres paquets. +Avant toute installation, il est nécessaire de définir son environnementAinsi, 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) )):
-Voici la ligne proposée ​sur [[https://wiki.samba.org/index.php/Samba_4/OS_Requirements#​Debian_or_Ubuntu|wiki.samba.org/index.php/Samba_4/​OS_Requirements]] +
-<​code>​sudo apt-get install 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 acl +
-</​code>​ +
-Par ailleurs, il est nécessaire d'​activer les [[:acl|ACL]] et les attributs étendus ​(usr_xattr), exemple de [[:mount_fstab|fstab]] : +
-<​code>​ +
-UUID=243eb5b....... / ext4 default,​acl,​user_xattr,​barrier=1 ​  ​0 ​  1 +
-</​code>​+
  
-Vous disposez ​de deux possibilités pour installer Samba : +|Nom de domaine |example.com | \\ RFC 2606 
-=== Installation avec votre gestionnaire de paquet === +|Royaume ​(realm|EXAMPLE.COM | 
-Cette solution, si elle a l'​avantage d'​être très simple, a l'​inconvénient d'​installer une version qui peut être ancienne, ce qui peut être gênant alors que le logiciel évolue rapidement. Ainsi, pour Precise (LTS 12.04), seule une version alpha est proposée pour test. \\ +|Nom de NetBIOS |example | 
-A partir de Trusty ​(LTS 14.04), l'​installation de Samba correspondra à la version stable 4.1.3 en lieu et place de la version 3.x actuelle. +|Nom du serveur |ubndc01 | 
-=== Compiler Samba vous-même à partir des sources === +|Adresse IP du serveur ​|192.0.2.11 | 
-Cette solution est préconisée pour disposer de la dernière version de Samba4, notamment si vous souhaitez mettre en place un serveur ​en production sous Precise (LTS12.04) +|Rôle du serveur |DC (contrôleur de domaine) |
-N'​hésitez pas à vous reporter à la page suivante : [[https://​wiki.samba.org/​index.php/​Build_Samba]] +
-<​code>​wget http://​www.samba.org/​samba/​stable/​samba-4.1.4.tar.gz +
-tar xvzf samba-4.1.4.tar.gz +
-cd samba-4.1.4 +
-./​configure +
-make && make install+
  
-</​code>​ +==== Pré-requis ==== 
-en résumé, les lignes ci-dessus permettent ​de télécharger,​ décompresser,​ compiler puis lancer ​l'installation.\\ +Afin de bénéficier ​de l'ensemble des fonctionnalités ​de Sambail est nécessaire d'​activer les [[:​acl|ACL]] et les attributs étendus (user_xattr) sur les partitions concernées par Samba. Pour ce faireil 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.ldblors d'une coupure d'​électricité ou tout autre crash système. Celle-ci est fortement recommandée sur un DC.
-Nota : utiliser la dernière version si correction ​de sécuritésinonn'hésitez pas à prendre la version n-si la dernière version est trop fraîche ! +
-\\ +
-Il peut être utile (voir indispensable) d'installer les "samba-tool" : +
-<​code>​ sudo apt-get install samba4-common-bin </​code>​+
  
-==== Chemins (path)==== +Exemple ​d'​une ​partition dans le ficher ​/etc/fstab 
-Soyez prudent quand vous exécutez une commande Samba si vous avez déjà une version antérieure de Samba installée. Pour éviter ​d'exécuter ​une mauvaise version, vous devez définir les chemins des répertoires /​usr/​local/​samba/​bin/​ et /​usr/​local/​samba/sbinau tout début de votre [[:​variables_d_environnement|variable]] $PATH !\\ +<file - /etc/fstab>UUID=8059560e-4a78-445b-a363-b3c197b4c7ea ​     /      ext4      defaults,​acl,​user_xattr,​barrier=1 ​    ​0 ​    1</file>
-<code> export PATH=/usr/​local/​samba/​bin:/​usr/​local/​samba/​sbin:​$PATH<​/code> +
-Vous pouvez voir la version de Samba que vous utilisez en exécutant : +
-<​code>​ samba -V</code>+
  
-==== Informations du serveur==== +Après avoir modifié ​le fichier ​/etc/fstab, il faut redémarrer la machine ​ou remonter la partition pour que la modification soit effectivePar exemple ​
-Pour le reste de ce guide, nous utiliserons les paramètres suivants pour le serveur\\ +<​code>​sudo mount -o remount /</​code>​
-répertoire d'​installation: ​/usr/local/​samba/​ \\ +
-nom du serveur: ​       DC1 \\ +
-nom de domaine DNS:        samdom.example.com\\ +
-nom de "​royaume" ​ou realm: SANDOM.EXAMPLE.COM (comme le nom de domaine, mais en MAJUSCULE)\\ +
-nom de domaine NT4       samdom \\ +
-adresse IP :             ​192.168.1.1 \\ +
-rôle du serveur :            DC (contrôleur de domaine) \\+
  
-==== Initialisation de Samba (configurer un nouveau domaine)==== +Le noyau d'Ubuntu provenant des dépôts a bien les options(([[/kernel#​configuration_du_noyau_utilise|cfconfiguration du noyau utilisé]])) XATTRSECURITY et POSIX_ACL ​pour les systèmes ​de fichier ext3 et ext4Toute 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.
-Cette initialisation crée une base de donnée. Cette opération est nécessaire lors de la configuration ​d'un nouveau contrôleur de domaine. Si vous souhaitez configurer le serveur Samba comme un contrôleur de domaine additionnel dans un domaine existant, référez-vous au guide [[https://wiki.samba.org/​index.php/​Samba4/​HOWTO/​Join_a_domain_as_a_DC|Joining a Windows Domain Controller as an additional DC in a Domain]].\\ +
-Cette étape doit être réalisée par un utilisateur ayant les droits d'​écriture sur le répertoire d'​installation. Dans le cas contrairecela générera des erreurs de permissions. +
-Pour lancer cette configuration,​ exécuter : +
-<​code>​ sudo /​usr/​local/​samba/​bin/​ samba-tool domain provision --use-rfc2307 --interactive</​code>​ +
-Cela lance l'​outil de configuration qui est interactif. Cette interactivité n'​étant pas vrai pour certain paramètres,​ il est recommandé d'​exécuter <​code>​samba-tool domain provision --help </​code>​afin d'​avoir un aperçu des options complémentaires. +
-L'​option --use-rfc2307 active ​les attributs posix de l'AD de Samba. Cela crée aussi les informations NIS dans l'AD, ce qui vous permet d'​administrer les UIDs/​GIDs ​et autres paramètres UNIX (dans la table "Unix attributes"​ de l'ADUC...Active Directory Users and Computers). Il est plus simple ​de l'​activer durant cette initialisation (Provisioning),​ plutôt ​que par la suite. De plus, même si vous n'en avez pas (encore) besoin, ça n'​impacte pas votre installation. +
-Notes importantes sur cette initialisation : +
-  * La commande d'​initialisation utilise le serveur DNS interne de Samba par défaut. Si vous souhaitez utiliser Bind comme serveur DNS d'​arrière-plan,​ ajouter --dns-backend=BIND9_DLZ dans les options de commande. Cette décision est réversible. Vous pouvez changer de serveur arrière-plan à tout moment. +
-  * Si vous ré-exécutez cette initialisation (provisioning),​ il est nécessaire de supprimer le fichier : <​code>/​usr/​local/​samba/​etc/​smb.conf </​code>​ et éventuellement ​la base si elle a été généré, par : <​code>​rm -rf /​usr/​local/​samba/​private/​*</​code>​ +
-  * Le mot de passe d'​administration doit correspondre aux règles établies, à savoir : au moins une majuscule, un chiffre et 8 caractères de long. Si vous ne spécifiez pas un mot de passe correspondant à ces critères, ​le script ​de configuration échouera et vous devrez recommencer avec un mot de passe correcte après avoir supprimé le contenu des répertoires suivants: <​code>​remove /​usr/​local/​samba/​private/​ et /​usr/​local/​samba/​etc/</​code>​ +
-  * Si votre site web est exemple.fr, le domaine de votre AD devrait être un sous-domaine,​ tel que sousdomain.exemple.fr (ou ad.exemple.fr...). Évitez d'​utiliser exemple.fr en interne.+
  
-==== Mise à jour depuis un domaine Samba de type NT4 vers un AD==== +Afin de vérifier le bon fonctionnement des ACL et des attributs étendusil faut se reporter aux sections ​[[#Test des ACL|Test des ACL]] et [[#Test des attributs étendus|Test des attributs étendus]].
-Si vous prévoyez la migration depuis un domain Samba NT4 existant vers un domaine Samba ADreportez-vous à Classicupgrade HowTo ([[http://​wiki.samba.org/​index.php/​Samba4/​samba-tool/​domain/​classicupgrade/​HOWTO]])+
  
-==== Démarrer votre AD DC Samba==== +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]]).
-Note: si vous des services smbd, nmbd ou winbind d'une précédente installation,​ il est nécessaire ​de les arrêter avant de démarrer samba +
-Si vous prévoyez d'​utiliser samba comme serveur de production, tapez simplement : +
-<​code>​ /​usr/​local/​samba/​sbin/​samba</​code>​ +
-Cela démarre samba en mode '​standard',​ ce qui est préconise en mode production.\\ +
-Pour le démarrage automatique au démarrage du serveur, Samba ne dispose pas encore ​de scripts d'​initialisation pour ubuntu, mais il y a des exemples de scripts sur la [[https://​wiki.samba.org/​index.php/​Samba4/​InitScript ​page Init-Script]] de Samba4. +
-Si vous exécutez samba a des fin de développement,​ exécuter : +
-<​code>​ /​usr/​local/​samba/​sbin/​samba -i -M single</​code>​ +
-Cela démarrera Samba avec tous les messages log vers stdout, limite a un seul processus. Ce mode permet un débogage de Samba avec gdb : +
-<​code>​ gdb --args /​usr/​local/​samba/​sbin/​samba -i -M single</​code>​+
  
-==== Test de connexion a votre contrôleur de domaine AD Samba==== +A titre d'exemple, voici un fichier ​de configuration simplifiée de //ntp// qui conviendra sur le DC 
-Vérifiez tout d'abord que vous avez la bonne version ​de smbclient en tapant : +<file - /etc/ntp.conf>​ 
-<code> ​/usr/local/samba/bin/smbclient --version<​/code> +driftfile ​     ​/var/lib/ntp/ntp.drift 
-Cela doit retourner un version commençant par "​Version 4.x" +logfile ​       ​/var/log/ntp
-Exécutez ensuite la ligne suivante pour lister les partages définis sur votre serveur: +
-<​code> ​/usr/local/samba/​bin/​smbclient -L localhost -U%+
  
-       ​Sharename ​      ​Type ​     Comment +# Specify one or more NTP servers. 
-       ​--------- ​      ​---- ​     ------- +server 0.ubuntu.pool.ntp.org 
-       netlogon ​       Disk +server 1.ubuntu.pool.ntp.org 
-       ​sysvol ​         Disk +server 2.ubuntu.pool.ntp.org 
-       ​IPC$ ​           IPC       IPC Service (Samba 4.x.y)</​code>​ +server 3.ubuntu.pool.ntp.org
-le retour doit être similaire aux informations ci-dessusLes partages netlogon et sysvol sont par défaut sur un serveur Active Directory et crée dans votre fichier de configuration smb.conf lors de la configuration initiale (provisioning) ou mise a jour+
-Si la commande échoue, redémarrer samba : +
-<​code>​ killall samba +
- /​usr/​local/​samba/​sbin/​samba</​code>​ +
-Pour vérifier que l'​authentification fonctionne, vous devez essayer de vous connecter au partage netlogon en utilisant le compte Administrateur crée durant le configuration initial (provisioning)Le retour doit être similaire aux informations ci-dessous: +
-<​code>​ smbclient //​localhost/​netlogon -UAdministrator% -c '​ls'​+
  
-Domain=[SAMDOMOS=[UnixServer=[Samba ​4.x.y+# By default, exchange time with everybody, but don't allow configuration. 
-  .                                   D        ​0  ​Tue Dec 11 20:00:00 2012 +restrict default kod notrap nomodify nopeer mssntp 
-  ..                                  ​D ​       ​ Tue Dec 11 20:00:00 2012+ 
 +# Local users may interrogate the ntp server more closely. 
 +restrict 127.0.0.1 
 +</​file>​ 
 + 
 +**MANQUE LA CONFIGURATION DE LA CARTE RESEAU** 
 +==== Installation à partir des dépôts ==== 
 +Il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​samba]]** 
 +==== 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]] 
 + 
 +===== Création d'un premier DC dans une nouvelle forêt ===== 
 +Ceci constitue l'​étape unique qui va créer le premier domaine dans la forêt. Cette étape est indispensable si vous n'avez pas d'​autres DC (Samba ou Microsoft). 
 + 
 +==== 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. 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>​ 
 + 
 +Si les valeurs satisfont, il ne faut alors que les valider par ENTER 
 +<​code>​Realm [EXAMPLE.COM]:​ 
 +Domain [EXAMPLE]:​ 
 +Server Role (dc, member, standalone) [dc]: 
 +DNS backend (SAMBA_INTERNAL,​ BIND9_FLATFILE,​ BIND9_DLZ, NONE) [SAMBA_INTERNAL]:​ 
 +DNS forwarder IP address (write '​none'​ to disable forwarding) [192.0.2.1]: 
 +Administrator password: 
 +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 [[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). 
 +  * 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>​ 
 + 
 +<note tip>Il est possible de changer le mot de passe du compte administrator avec les droits superutilisateur (root) avec la commande 
 +<​code>​sudo samba-tool user setpassword administrator</​code></​note>​ 
 + 
 +===== 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>​ </​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>​
  
-==== Configuration du serveur DNS==== +En cas d'​erreur,​ il faut ajouter ou corriger l'​enregistrement DNS 
-Une configuration fonctionnelle du [[:​dns|DNS]] est essentielle pour assurer le bon fonctionnement ​de Samba et de l'AD. Sans les bons paramètresKerberos ne fonctionnera pas, entraînant le non-fonctionnement ​de services de base! Une configuration ​hâtive, non fonctionnelle,​ vous fera perdre du temps pour définir la cause des dysfonctionnement ​du DNS. Pour gérer les paramètres DNS, vous pouvez utilisez l'​utilitaire samba-tool (voire l'​outil MMC DNS de Windows)Pour plus d'​information,​ consulter [[https://wiki.samba.org/index.php/​DNS_Administration|DNS Administration ]] et [[https://​wiki.samba.org/index.php/​Samba_AD_management_from_windows | administrer Samba AD depuis windows ]]+<​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 DCil est important ​de vérifier la bonne configuration du DNS. 
 +Le fichier /etc/resolv.conf devrait contenir 
 +<file - /etc/resolv.conf>​search example.com 
 +nameserver 127.0.0.1</file>
  
-=== DNS Backends === +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]])
-Pour plus d'​information sur la configuration ​du serveur DNS et trouver celle qui répond ​à vos besoinsconsultez la page [[https://​wiki.samba.org/​index.php/​DNS#Which_DNS_backend_should_I_choose.3F ​| DNS]]\\ +
-Lors de l'​initialisation,​ il vous est proposé quatre choix comme "DNS Backend" ​SAMBA_INTERNAL (par défaut), BIND9_FLATFILE (obsolète?​),​ BIND9_DLZ (si vous mettez en place un serveur DNS avec BIND), NONE (si, c'est possible!).+
  
-== Serveur DNS interne à samba (SAMBA_INTERNAL) == +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 DCil faut d'​abord arrêter les services //smbd// et //nmbd// (//​samba.service//​). ​ 
-Par défaut, ​Samba utilise son propre serveur DNS interne ​et aucune configuration supplémentaire n'est nécessaire.\\ +<​code>​sudo systemctl stop samba.service 
-Il est souvent nécessaire ​de définir le serveur DNS vers lequel renvoyer les demandes qui ne sont pas du ressort du DNS internepour cela ajouter : +sudo systemctl start samba-ad-dc.service</​code>​
-<​code> ​dns forwarder = {adresse IP du serveur DNS vers lequel transmettre}</​code> ​dans votre fichier smb.con puis redémarrer Samba.\\ +
-Nota : cette ligne peut avoir été renseignée durant l'​initialisation (provisioning) !+
  
-Pour que le serveur DNS interne puisse fonctionner,​ le port 53 udp/tcp ne doit pas être utilisé par d'​autres programmes (tel qu'un autre serveur DNS, Dnsmasq, etc...). Vous aurez des erreurs dans le logfile si Samba ne peut utiliser le port 53, telle que +Pour connaître l'ensemble ​des services démarrés par samba 
-<​code> ​Failed to bind to 0.0.0.0:53 TCP NT_STATUS_ADDRESS_ALREADY_ASSOCIATED ​</​code>​ +<​code>​sudo samba-tool processes 
-Pour vérifier quel programme est sur le port 53exécuter avec les droit d'administrateur : + ​Service               PID  
-<​code>​ netstat ​-tunpe | grep ":​53"​ </code>+----------------------------- 
 +dnsupdate ​               959 
 +nbt_server ​              933 
 +rpc_server ​              932 
 +cldap_server ​            942 
 +winbind_server ​          949 
 +kdc_server ​              943 
 +samba                      0 
 +dreplsrv ​                948 
 +kccsrv ​                  956 
 +ldap_server ​             938</​code>​ 
 +On y voitdans 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/​*.
  
-== Interfaçage avec un serveur BIND (BIND9_DLZ) ​== +===== Tests de Samba AD DC ===== 
-Si vous choisissez [[http://​bind-dlz.sourceforge.net/​|BIND9_DLZ]] lors de votre initialisation (provisioning),​ référez-vous au wiki [[http://​wiki.samba.org/​index.php/​Samba_AD_DC_HOWTO#​BIND_as_DNS_backend|the Bind as DNS backend HowTo]] pour connaître les instructions à suivre. Vous trouverez aussi plus d'​informations sur le wiki pour la configuration de BIND en général et comment le configurer pour l'​utiliser avec Samba AD. Si vous avez initialiser avec le DNS interne, vous pouvez [[http://​wiki.samba.org/​index.php/​DNS#​Changing_from_Internal_DNS_to_BIND|basculer vers BIND]] lorsque cela est nécessaire.  +Samba AD DC est composé ​de beaucoup de services différents qui interagissentLes tests qui suivent se focaliseront sur l'un ou l'​autre point.
-=== Configuration du fichier /​etc/​resolv.conf ​=== +
-Pour résoudre les recherches local de DNS, il est nécessaire ​de modifier le fichier /etc/resolv.conf. L'exemple suivant doit être suffisant pour résoudre le DNS correctement (adapter au domaine et adresse IP dans votre environnement):​  +
-<​code>​domain samdom.example.com +
-nameserver 192.168.1.1</​code>​ +
-=== Tests du serveur DNS ===+
  
-==== Configuration de Kerberos ​==== +==== Test des ACL ==== 
-Si vous ne connaissez pas le fonctionnement de Kerberosvoici un lien pour vous éclairer :\\ [[http://​irp.nain-t.net/​doku.php/​320kerberos:start]]\\ +Pour tester les ACLil faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>acl]]**.
-La configuration de Kerberos se trouve dans le fichier krb5.conf. Ce fichier doit être déposé dans le répertoire /etc\\ +
-Lors de l'​initialisation,​ ce fichier est créé et déposé dans /​usr/​loca/​samba/​share/​setup/​krb5.conf. Son contenu par défaut est : +
-<code>[libdefaults] +
-        default_realm = ${REALM} +
-        dns_lookup_realm = false +
-        dns_lookup_kdc = true +
-</​code> ​        +
-Note : si vous avez oublié votre nom de "​royaume",​ exécutez  +
-<​code>/​usr/​local/​samba/​bin/​samba-tool testparm --suppress-prompt | grep realm</​code>​ +
-=== Tests de Kerberos === +
-Le test le plus simple est d'​utiliser la commande //kinit// comme cela:+
  
-<​code>​ kinit administrateur@SAMDOM.EXAMPLE.COM </code>+Le paquet ​//acl// va, entre autre, installer les commandes //setfacl// et //getfacl// afin de définir et lire les ACL sur un fichier.
  
-Note: vous devez saisir ​le nom de "​royaume"​ en **lettres majuscules !**+Pour vérifier ​le fonctionnement des ACL, on peut exécuter les commandes ci-dessous sur un fichier d'une partition qui a les ACL activé. 
 +<​code>​touch test.txt 
 +setfacl -m g:adm:rwx test.txt 
 +getfacl test.txt</​code>​ 
 +Le résultat ​de cette dernière commande doit retourner quelque chose semblable à : 
 +<​code>#​ file: test.txt 
 +# owner: user1 
 +# group: user1 
 +user::rw- 
 +group::​rw- 
 +group:​adm:​rwx 
 +mask::rw- 
 +other::​r--</​code>​ 
 +Si aucune erreur n'est retournée, les ACL sont bien activées et utilisables. 
 +==== 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//​. 
 +<​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.
  
-Note: selon la distributionkinit peut juste retourner ​un prompt, mais sous certaines distributions le retour est du type  +Pour vérifier le fonctionnement des attributs étenduson peut exécuter les commandes ci-dessous sur un fichier d'une partition qui a les attributs étentus activé
-<​code>​Warning:​ Your password will expire in x days on ...  </​code>​(Attention:​ votre mot de passe expirera dans x jours, le... )+
  
-Pour vérifier quelle version de Kerberos ​est utilisée, et qu'​elle vous retourne un tickettaper :+Pour ajouter des attributs étendus : 
 +<​code>​touch test.txt 
 +setfattr -n user.userName -v userValue test.txt 
 +sudo setfattr -n security.secName -v secValue test.txt</​code>​ 
 +Pour voir les attributs étendus d'un fichier : 
 +<​code>​getfattr -d test.txt</​code>​ 
 +<​code>#​ file: test.txt 
 +user.userName="​userValue"</​code>​ 
 +<​code>​getfattr -n security.secName -d test.txt</​code>​ 
 +<​code>#​ file: test.txt 
 +security.secName="​secValue"</​code>​ 
 +Si aucune erreur n'est retournéeles attributs étendus sont bien activés ​et utilisables. 
 +==== Test du DNS ==== 
 +Pour tester le DNSil 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//​.
  
 +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.
 +
 +Une configuration fonctionnelle du [[:​dns|DNS]] est essentielle pour assurer le bon fonctionnement de Samba et de l'AD. Sans les bons paramètres,​ Kerberos ne fonctionnera pas, entraînant le non-fonctionnement des services de base ! Afin d'​éviter de perdre son temps à cause d'un problème DNS, il faut attraper le réflexe de systématiquement vérifier le bon fonctionnement du DNS. La connaissance des requêtes adéquates pour identifier chaque problème est également nécessaire. Pour plus d'​information,​ consulter [[https://​wiki.samba.org/​index.php/​DNS_Administration|DNS Administration ]] et [[https://​wiki.samba.org/​index.php/​Samba_AD_management_from_windows | administrer Samba AD depuis windows ]].
 +
 +Pour que le serveur DNS interne puisse fonctionner,​ le port 53 udp/tcp ne doit pas être utilisé par d'​autres programmes (tel qu'un autre serveur DNS, Dnsmasq, etc...). Dans le cas contraire, des erreurs seront visible dans le fichier ... FIXME
 +<file - ...>...
 +Failed to bind to 0.0.0.0:53 TCP - NT_STATUS_ADDRESS_ALREADY_ASSOCIATED
 +...</​file>​
 +Pour vérifier quel programme écoute sur le port 53
 +<​code>​sudo netstat -tunpel | grep ":​53"​ </​code>​
 +
 +Voici quelques requêtes de base permettant de tester les records du DNS
 +  * Vérification du fonctionnement du service DNS par une résolution simple.
 +<​code>​dig ubndc01.example.com
 +...
 +ubndc01.example.com. ​    ​900 ​    ​IN ​     A       ​192.0.2.11
 +...
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +...</​code>​
 +On voit sur la dernière ligne mise en évidence ici, quel serveur a répondu à la requête. Si ce n'est pas le bon serveur, il faut vérifier le fichier /​etc/​resolv.conf.
 +
 +  * Résolution d'une requête spécifique pour le service Kerberos
 +<​code>​dig -t SRV _kerberos._tcp.example.com
 +...
 +_kerberos._tcp.example.com. 900  IN      SRV     0 100 88 ubndc01.example.com.
 +...</​code>​
 +
 +  * Résolution d'une requête spécifique pour le service LDAP
 +<​code>​dig -t SRV _ldap._tcp.example.com
 +...
 +_ldap._tcp.example.com. ​ 900     ​IN ​     SRV     0 100 389 ubndc01.example.com.
 +...</​code>​
 +
 +  * Résolution d'une adresse externe au domaine
 +<​code>​dig doc.ubuntu-fr.org
 +...
 +doc.ubuntu-fr.org. ​     1276    IN      A       ​86.65.39.28
 +...</​code>​
 +En cas d'​absence de réponse, il faut vérifier qu'il y ait une ligne //dns forwarder// pointant vers l'IP d'un serveur DNS externe au domaine dans le fichier /​etc/​samba/​smb.conf
 +<file conf /​etc/​samba/​smb.conf>​
 +...
 +        dns forwarder = 192.0.2.1
 +...</​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 :
 +<​code>​dig doc.ubuntu-fr.org @192.0.2.1</​code>​
 +
 +==== Test de Kerberos ====
 +Pour tester le Kerberos, il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​krb5-user]]**
 +
 +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.
 +
 +Lors de l'​initialisation,​ le fichier de configuration du serveur Kerberos(([[http://​irp.nain-t.net/​doku.php/​320kerberos:​start|Documentation sur Kerberos et son fonctionnement]])) de Samba est automatiquement crée et se trouve sur /​var/​lib/​samba/​private/​krb5.conf. Son contenu par défaut est :
 +<file - /​var/​lib/​samba/​private/​krb5.conf>​[libdefaults]
 +        default_realm = EXAMPLE.COM
 +        dns_lookup_realm = false
 +        dns_lookup_kdc = true
 +</​file>​
 +
 +Les commandes fournies par le paquet //​krb5-user//​ (//kinit//, //klist//, ...) utilise le fichier de configuration /​etc/​krb5.conf qui a été crée lors de l'​installation du paquet //​krb5-config//​. Dans ce fichier, seule 1 partie est utile :
 +<file - /​etc/​krb5.conf>​[libdefaults]
 +        default_realm = EXAMPLE.COM
 +...
 +</​file>​
 +<note important>​Le nom du "​royaume"​ (realm) s'​écrit toujours **lettres majuscules**</​note>​
 +
 +Voici quelques commandes permettant de tester le serveur Kerberos :
 +  * Demande d'un ticket-granting ticket (TGT) pour un utilisateur avec //kinit//
 +<​code>​kinit administrator@EXAMPLE.COM
 +password for administrator@EXAMPLE.COM:​
 +Warning: Your password will expire in x days on ... </​code>​
 +La même commande en omettant le @ nom du royaume doit donner le même résultat. Dans ce cas, //kinit// prend la valeur du //​default_realm//​ inscrite dans le fichier de configuration /​etc/​krb5.conf
 +
 +  * Pour voir le TGT reçu, il faut utiliser la commande //klist//
 <​code>​klist <​code>​klist
 Ticket cache: FILE:/​tmp/​krb5cc_1000 Ticket cache: FILE:/​tmp/​krb5cc_1000
-Default principal: administrator@SAMDOM.EXAMPLE.COM +Default principal: administrator@EXAMPLE.COM 
- +
 Valid starting ​    ​Expires ​           Service principal Valid starting ​    ​Expires ​           Service principal
-02/10/13 19:39:48  02/11/13 19:39:46  ​krbtgt/​SAMDOM.EXAMPLE.COM@SAMDOM.EXAMPLE.COM+03/03/14 20:17:43  04/03/14 06:17:43  ​krbtgt/​EXAMPLE.COM@EXAMPLE.COM 
 +        renew until 04/03/14 20:17:35
 </​code>​ </​code>​
-Si ni //kinit// ni //klist// n'​existe sur votre système, référez-vous à la page [[http://​wiki.samba.org/​index.php/​Samba_4_OS_Requirements|Samba_4_OS_Requirements]] ou au début de ce document. 
  
-Vous pouvez aussi tester ​Kerberos à partir d'un poste clientmais vous devez tout d'​abord configurer ​le fichier krb5.conf and resolve.conf du poste client comme illustré ci-dessus.+==== Test de SMB ==== 
 +Pour tester ​les SMBil faut [[:​tutoriel:​comment_installer_un_paquet|installer ​le paquet]] **[[apt>​smbclient]]**
  
-Note: Si vous utilisez un poste client derrière un serveur NAT vous devez ajouter la ligne suivante dans le fichier krb5.conf du contrôleur de domaine: ​+Si //samba// a été installé à partir des sources, il faut veiller à avoir une //​smbclient//​ en version 4 également.
  
-<​code>​[kdc+  * Lister les partages définis localement sur le DC : 
-        ​check-ticket-addresses ​false</​code>​+<​code>​smbclient -L localhost -U% 
 +Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.3-Ubuntu] 
 + 
 +        Sharename ​      ​Type ​     Comment 
 +        --------- ​      ​---- ​     ------- 
 +        netlogon ​       Disk       
 +        sysvol ​         Disk       
 +        IPC$            IPC       IPC Service (Samba 4.1.3-Ubuntu) 
 +Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.3-Ubuntu] 
 + 
 +        Server ​              ​Comment 
 +        --------- ​           ------- 
 + 
 +        Workgroup ​           Master 
 +        --------- ​           ------- 
 +        WORKGROUP</​code>​ 
 +Un AD DC possède toujours les partages netlogon et sysvol. Ils sont nécessaires au fonctionnement d'AD. Ces partages doivent se retrouver dans le fichier de configuration de samba /​etc/​samba/​smb.conf. 
 + 
 +  * Vérifier l'​authentification d'un utilisateur avec la même commande mais en utilisant l'​utilisateur administrator. 
 +<​code>​smbclient -L localhost -UAdministrator 
 +Enter administrator'​s password: 
 +...</​code>​ 
 +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===== 
 +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]]
  
-Note: Si l'​initialisation (provisionning) génère un mot de passe et que vous le perdez, vous pouvez utilisez //​samba-tool user setpassword administrator//​ en administrateur pour le réinitialiser. 
-==== Configuration NTP ==== 
-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]]. ​ 
 ===== 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]] 
-...\\ + 
-pour les tâches "​quotidiennes"​ : +  * Pour les tâches "​quotidiennes"​ : 
-[[https://​wiki.samba.org/​index.php/​Configuring_a_windows_client_for_AD| Configurer un client windows]] +    ​* ​[[https://​wiki.samba.org/​index.php/​Configuring_a_windows_client_for_AD| Configurer un client windows]] 
-[[https://​wiki.samba.org/​index.php/​Samba_AD_management_from_windows| Gérer Samba AD depuis windows]] +    ​* ​[[https://​wiki.samba.org/​index.php/​Samba_AD_management_from_windows| Gérer Samba AD depuis windows]] 
-...\\ + 
-et aussi +  ​* ​[[https://​wiki.samba.org/​index.php/​Authenticating_other_services_against_AD| Authentifier d'​autres services avec l'AD]] notamment Apache, SSH,...
-[[https://​wiki.samba.org/​index.php/​Authenticating_other_services_against_AD| Authentifier d'​autres services avec l'AD]] notamment Apache, SSH,...+
  
 Des réflexions sur [[https://​fr.wikipedia.org/​wiki/​SELinux| SELinux]] et les permissions de contrôle d'​accès pouvant prévenir des connexions utilisant l'AD, sont disponibles sur la page [[https://​wiki.samba.org/​index.php/​Samba_AD_DC_access_control_settings | Paramétrages contrôle d'​accès Samba AD DC]]. Des réflexions sur [[https://​fr.wikipedia.org/​wiki/​SELinux| SELinux]] et les permissions de contrôle d'​accès pouvant prévenir des connexions utilisant l'AD, sont disponibles sur la page [[https://​wiki.samba.org/​index.php/​Samba_AD_DC_access_control_settings | Paramétrages contrôle d'​accès Samba AD DC]].
  
 Reportez-vous la [[https://​wiki.samba.org/​index.php/​Samba | documentations utilisateur du wiki samba]] pour plus d'​informations et tutoriels. Reportez-vous la [[https://​wiki.samba.org/​index.php/​Samba | documentations utilisateur du wiki samba]] pour plus d'​informations et tutoriels.
-===== Remonter vos succès/​échecs ===== 
  
 +===== Références =====
 +  * [[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)
  
-//Contributeur principal ​:// [[utilisateurs:​bcag2|bcag2]]+//Contributeurs principaux ​: [[utilisateurs:​bcag2|bcag2]], [[:​utilisateurs:​Qedinux|Qedinux]]//​
  • samba-active-directory.1393924776.txt.gz
  • Dernière modification: Le 04/03/2014, 10:19
  • par bcag2