Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
samba-active-directory [Le 17/07/2018, 20:59] Qedinux [Pré-requis] Mise à jour pour 18.04 |
samba-active-directory [Le 04/05/2024, 21:14] (Version actuelle) 81.185.161.216 [Test de Kerberos] |
||
---|---|---|---|
Ligne 59: | 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 ==== | ||
Il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>samba]]** | Il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>samba]]** | ||
==== 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 attr autoconf bison build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev libcups2-dev libgnutls-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpopt-dev libreadline-dev perl perl-modules pkg-config python-all-dev python-dev python-dnspython python-crypto xsltproc zlib1g-dev</code> | ||
- | Ensuite, il faut télécharger, décompresser, compiler et installer samba à partir des sources. | ||
- | <code>wget https://download.samba.org/pub/samba/stable/samba-4.4.2.tar.gz | ||
- | tar xvzf samba-4.4.2.tar.gz | ||
- | cd samba-4.4.2 | ||
- | ./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 84: | Ligne 73: | ||
<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 101: | Ligne 90: | ||
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éalablement 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 | ||
Ligne 125: | Ligne 114: | ||
<code>sudo samba-tool domain join example.com DC -U administrator --realm=EXAMPLE.COM</code> | <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]]) | + | <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' | Vérification de la résolution du nom 'ubndc02.example.com' | ||
Ligne 158: | Ligne 147: | ||
===== Démarrer Samba AD DC ===== | ===== 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 211: | 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> | ||
Ligne 220: | Ligne 200: | ||
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 300: | Ligne 280: | ||
... | ... | ||
</file> | </file> | ||
- | <note important>Le nom du "royaume" (realm) s'écrit toujours **lettres majuscules**</note> | + | <note important>Le nom du "royaume" (realm) s'écrit toujours en **LETTRES MAJUSCULES**</note> |
Voici quelques commandes permettant de tester le serveur Kerberos : | Voici quelques commandes permettant de tester le serveur Kerberos : | ||
Ligne 360: | Ligne 340: | ||
* Primary Domain Controller Emulator ((PDC Emulator)) : 1 par domaine | * Primary Domain Controller Emulator ((PDC Emulator)) : 1 par domaine | ||
* Infrastructure Master: 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_%28FSMO%29_roles|Samba FSMO roles]])) | + | 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 | * Forest DNS Zones Master: 1 par forêt | ||
* Domain DNS Zones Master: 1 par domaine | * Domain DNS Zones Master: 1 par domaine | ||
- | Bien que non visible avec les outils samba 4.2 et antérieurs, ceux-ci existent bien dans l'Active Directory (([[https://wiki.samba.org/index.php/Transfering_/_seizing_FSMO_roles#Show_current_FSMO_role_owners|Samba - Show current FSMO role owners]])). | ||
=== Voir les propriétaires des rôles FSMO === | === 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. | 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. | ||
Ligne 377: | Ligne 356: | ||
Dans l'exemple ci-dessus, on voit que le contrôleur de domaine //ubndc01// possède tous les rôles. | 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 === | === 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. L'exécution doit se faire sur le contrôleur de domaine qui reprend le(s) rôle(s). | + | 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 | <code>sudo samba-tool fsmo transfer --role=all -U administrator | ||
FSMO transfer of 'rid' role successful | FSMO transfer of 'rid' role successful | ||
Ligne 386: | Ligne 365: | ||
ERROR: ... | ERROR: ... | ||
</code> | </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 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//. |
- | + | ||
- | 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), ça devrait être en ordre et visible avec la commande //samba-tool fsmo show//. Cependant, le projet Samba annonce qu'il existe un bug connu pour cette opération (([[https://wiki.samba.org/index.php/Transfering_/_seizing_FSMO_roles#Transferring_a_FSMO_role|Transferring a FSMO role]] - [[https://bugzilla.samba.org/show_bug.cgi?id=10734|Bug 10734]])). Un patch existe mais n'aurait peut-être pas encore été approuvé et appliqué (depuis 2015-10-28). | + | |
=== Retrait d'un contrôleur de domaine === | === Retrait d'un contrôleur de domaine === | ||
Ligne 401: | Ligne 378: | ||
===== 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 420: | 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]]// |