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édentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:samba_ad_dc_members [Le 21/11/2017, 17:35] – ajout {{tag>tutoriel}} fabuxtutoriel:samba_ad_dc_members [Le 11/09/2022, 12:20] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art
Ligne 29: Ligne 29:
 <file - /etc/resolv.conf>nameserver 192.168.1.11 <file - /etc/resolv.conf>nameserver 192.168.1.11
 search example.com</file> search example.com</file>
-Ces paramètres sont soit fournis par le serveur DHCP du réseau ou configurés de façon statique dans le fichier /etc/network/interfaces par l'intermédiaire du paquet //resolvconf// avec les commandes dns-nameservers et dns-search. +Ces paramètres sont soit fournis par le serveur DHCP du réseau ou configurés de façon statique dans le fichier **/etc/network/interfaces** (obsolète à partir de 18.04) ou dans un fichier YAML dans **/etc/netplan** (par défaut à partir de 18.04) (se référer à [[tutoriel:comment_configurer_son_reseau_local|Comment configurer son réseau local ?]] et [[utilisateurs:ool:netplan|netplan]]) 
-<file - /etc/network/interfaces>auto eth0 +
-iface eth0 inet static +
-  address 192.168.1.101 +
-  netmask 255.255.255.0 +
-  gateway 192.168.1.1 +
-  dns-nameservers 192.168.1.11 +
-  dns-search example.com</file>+
 Les tests suivant devraient renvoyer des résultats corrects (se référer à [[:samba-active-directory#tests_du_dns|Samba AD DC - Tests du DNS]]) Les tests suivant devraient renvoyer des résultats corrects (se référer à [[:samba-active-directory#tests_du_dns|Samba AD DC - Tests du DNS]])
 <code>dig ubndc01.example.com</code> <code>dig ubndc01.example.com</code>
Ligne 85: Ligne 79:
 ==== Configurer samba ==== ==== Configurer samba ====
 La configuration de samba peut être réécrite comme suit : La configuration de samba peut être réécrite comme suit :
 +  * Pour Ubuntu 14.04 et 16.04 (avant Samba 4.6)
 <file - /etc/samba/smb.conf> <file - /etc/samba/smb.conf>
-# Global parameters                                                                         +# Global parameters
 [global] [global]
         workgroup = EXAMPLE         workgroup = EXAMPLE
Ligne 102: Ligne 97:
  
         winbind nss info = rfc2307         winbind nss info = rfc2307
 +        winbind trusted domains only = no
 +        winbind use default domain = yes
 +        winbind enum users = yes
 +        winbind enum groups = yes
 +        winbind refresh tickets = yes
 +                
 +        kerberos method = system keytab
 +</file>
 +  * A partir d'Ubuntu 17.10 (à partir de Samba 4.6)
 +<file - /etc/samba/smb.conf>
 +# Global parameters
 +[global]
 +        workgroup = EXAMPLE
 +        realm = EXAMPLE.COM
 +        netbios name = ubnwks01
 +        security = ADS
 +        encrypt passwords = yes
 +
 +        idmap config EXAMPLE:backend = ad
 +        idmap config EXAMPLE:schema_mode = rfc2307
 +        idmap config EXAMPLE:range = 10000-39999
 +        idmap config EXAMPLE:unix_nss_info = yes
 +
 +        idmap config *:backend = tdb
 +        idmap config *:range = 40000-49999
 +
         winbind trusted domains only = no         winbind trusted domains only = no
         winbind use default domain = yes         winbind use default domain = yes
Ligne 114: Ligne 135:
 Les lignes //idmap config *:... // définissent le backend tdb (base de données locale) et la plage d'identifiants pour les utilisateurs et groupes venant d'autres domaines. On retrouve ici entre-autre les groupes venant de BUILTIN. Par défaut, une machine qui rejoint le domaine reçoit deux groupes locaux, //BUILTIN\Administrators// et //BUILTIN\Users//. Par défaut, le groupe //EXAMPLE\Domain Admins// est membre du groupe //BUILTIN\Administrators// et le groupe //EXAMPLE\Domain Users// est membre du groupe //BUILTIN\Users//. Les autres groupes qui seraient créés localement sur la machine auront la forme //UBNWKS01\Nom du groupe//. Les lignes //idmap config *:... // définissent le backend tdb (base de données locale) et la plage d'identifiants pour les utilisateurs et groupes venant d'autres domaines. On retrouve ici entre-autre les groupes venant de BUILTIN. Par défaut, une machine qui rejoint le domaine reçoit deux groupes locaux, //BUILTIN\Administrators// et //BUILTIN\Users//. Par défaut, le groupe //EXAMPLE\Domain Admins// est membre du groupe //BUILTIN\Administrators// et le groupe //EXAMPLE\Domain Users// est membre du groupe //BUILTIN\Users//. Les autres groupes qui seraient créés localement sur la machine auront la forme //UBNWKS01\Nom du groupe//.
  
-Les lignes //winbind ...// définissent d'autres options pour l'utilisation de //winbind//. Notamment, la ligne //use default domain// permet de ne pas devoir inscrire à chaque fois le nom du domaine pour un utilisateur ou un groupe appartenant au domaine par défaut. La ligne //winbind offline logon// permet de +Les lignes //winbind ...// définissent d'autres options pour l'utilisation de //winbind//. Notamment, la ligne //use default domain// permet de ne pas devoir inscrire à chaque fois le nom du domaine pour un utilisateur ou un groupe appartenant au domaine par défaut.
  
 La ligne //kerberos method = system keytab// va générer, lorsque l'on joint la machine au domaine, et maintenir à jour un fichier keytab propre à la machine (/etc/krb5.keytab). Ce fichier est le jeton d'authentification Kerberos pour la machine (UBNWKS01$). Ce jeton comme toute autre jeton Kerberos expire après un certain délais (10 jours ?). Avec cette option, le service //samba// maintient à jour ce jeton en le renouvelant régulièrement à condition d'avoir une connexion avec le DC. La ligne //kerberos method = system keytab// va générer, lorsque l'on joint la machine au domaine, et maintenir à jour un fichier keytab propre à la machine (/etc/krb5.keytab). Ce fichier est le jeton d'authentification Kerberos pour la machine (UBNWKS01$). Ce jeton comme toute autre jeton Kerberos expire après un certain délais (10 jours ?). Avec cette option, le service //samba// maintient à jour ce jeton en le renouvelant régulièrement à condition d'avoir une connexion avec le DC.
 +<note important>A partir de Samba 4.6, le paramètre **winbind nss info = rfc2307** est remplacé par **idmap config EXAMPLE:unix_nss_info = yes**(([[https://wiki.samba.org/index.php/Idmap_config_ad#The_RFC2307_and_template_Mode_Options|The RFC2307 and template Mode Options]]))</note>
  
 ==== Appliquer les modifications ==== ==== Appliquer les modifications ====
Ligne 124: Ligne 146:
  
 ==== Joindre la machine au domaine ==== ==== Joindre la machine au domaine ====
-<code>sudo net join -U Administrator+Bien que l'option **createupn** ne soit pas obligatoire pour joindre la machine dans le domaine, certaines fonctionnalités tel que [[tutoriel:samba_ad_dc_nfs4_kerberized|Partage NFSv4 avec authentification Kerberos]] auront besoin que cette information soit présente dans l'AD. Il est donc recommandé de directement fournir ces informations plutôt que de ne pas le faire, attendre et finalement s'amuser à modifier ultérieurement l'objet dans l'AD. 
 +<code>sudo net join -U Administrator</code> 
 +ou 
 +<code>sudo net join createupn=UBNWS01.EXAMPLE.COM\$@EXAMPLE.COM -U Administrator
 Enter Administrator's password: Enter Administrator's password:
 Using short domain name -- EXAMPLE Using short domain name -- EXAMPLE
Ligne 142: Ligne 167:
 <code>ls -l /etc/krb5.keytab <code>ls -l /etc/krb5.keytab
 -rw------- 1 root root 1057 Nov  4 19:37 /etc/krb5.keytab</code> -rw------- 1 root root 1057 Nov  4 19:37 /etc/krb5.keytab</code>
-Avec les [[utilisateurs:qedinux:samba_ad_dc_members#kerberos|outils Kerberos]], on peut lire ce ticket +Avec les [[utilisateurs:qedinux:samba_ad_dc_members#kerberos|outils Kerberos]], on peut lire ce ticket
 <code>sudo klist -ket <code>sudo klist -ket
 Keytab name: FILE:/etc/krb5.keytab Keytab name: FILE:/etc/krb5.keytab
Ligne 176: Ligne 201:
 La seconde interroge le DC pour recevoir un nouveau jeton et crée le fichier /etc/krb5.keytab sur la machine. La seconde interroge le DC pour recevoir un nouveau jeton et crée le fichier /etc/krb5.keytab sur la machine.
 <code>sudo net ads keytab create -k</code> <code>sudo net ads keytab create -k</code>
-<note tip>Vous recevez un avertissement si le paramètre "kerberos method" n'est pas définit dans /etc/samba/smb.conf +<note tip>Vous recevez un avertissement si le paramètre "kerberos method" n'est pas définit dans /etc/samba/smb.conf
 <code>Warning: "kerberos method" must be set to a keytab method to use keytab functions.</code> <code>Warning: "kerberos method" must be set to a keytab method to use keytab functions.</code>
 </note> </note>
Ligne 265: Ligne 290:
  
 ==== Authentification hors ligne ==== ==== Authentification hors ligne ====
 +<note>A mettre à jour cfr [[https://wiki.samba.org/index.php/PAM_Offline_Authentication|PAM Offline Authentication]]</note>
 Le cas des ordinateurs portables est typique d'une situation dans laquelle l'utilisateur est amené à ne pas être connecté au réseau et par conséquence, ne pas être capable de se faire authentifier par le DC. Une solution à ce problème consiste à mettre en place un cache des authentifications sur base des authentifications réussies. Ainsi, lorsque le DC est inaccessible, le cache permet d'authentifier l'utilisateur lui permettant de travailler. Le cas des ordinateurs portables est typique d'une situation dans laquelle l'utilisateur est amené à ne pas être connecté au réseau et par conséquence, ne pas être capable de se faire authentifier par le DC. Une solution à ce problème consiste à mettre en place un cache des authentifications sur base des authentifications réussies. Ainsi, lorsque le DC est inaccessible, le cache permet d'authentifier l'utilisateur lui permettant de travailler.
  
Ligne 278: Ligne 304:
 <code>sudo pam-auth-update</code> <code>sudo pam-auth-update</code>
  
-Afin de réaliser le cache des d'informations d'authentification, il faut installer le PAM pour CCRED (Cache Credentials) avec le paquet **[[apt>libpam-ccreds]]**+<del>Afin de réaliser le cache des d'informations d'authentification, il faut installer le PAM pour CCRED (Cache Credentials) avec le paquet **[[apt>libpam-ccreds]]**</del>
 <code>sudo apt-get install libpam-ccreds</code> <code>sudo apt-get install libpam-ccreds</code>
  
-Le PAM pour CCRED (Cache Credentials) réalise le cache des informations d'authentification. Ce cache est stocké dans une base de données de type Berkeley DB, /var/cache/.security.db. Il est possible d'interroger cette base de données avec les outils //cc_dump// et //cc_test// fournis par le paquet //libpam-ccreds//. Cette base de données équivaut au //shadow// du NSS.+<del>Le PAM pour CCRED (Cache Credentials) réalise le cache des informations d'authentification. Ce cache est stocké dans une base de données de type Berkeley DB, /var/cache/.security.db. Il est possible d'interroger cette base de données avec les outils //cc_dump// et //cc_test// fournis par le paquet //libpam-ccreds//. Cette base de données équivaut au //shadow// du NSS.</del>
  
-Il faut également ajouter le paquet **[[apt>nss-updatedb]]**+<del>Il faut également ajouter le paquet **[[apt>nss-updatedb]]**</del>
 <code>sudo apt-get install nss-updatedb</code> <code>sudo apt-get install nss-updatedb</code>
  
-Le paquet //nss-updatedb// fourni la commande //nss_updatedb// qui permet de créer des bases de données de type Berkeley DB stockant les données équivalentes aux //passwd// et //group// du NSS. Il faut l'invoquer régulièrement afin de maintenir à jour ces bases de données.+<del>Le paquet //nss-updatedb// fourni la commande //nss_updatedb// qui permet de créer des bases de données de type Berkeley DB stockant les données équivalentes aux //passwd// et //group// du NSS. Il faut l'invoquer régulièrement afin de maintenir à jour ces bases de données.</del>
 <code>sudo nss_updatedb winbind</code> <code>sudo nss_updatedb winbind</code>
-De plus, il faut informer le système qu'il peut utiliser ces bases de données comme source pour //passwd// et //group// en ajoutant //db// aux entrées respectives du fichier ///etc/nsswitch.conf//+<del>De plus, il faut informer le système qu'il peut utiliser ces bases de données comme source pour //passwd// et //group// en ajoutant //db// aux entrées respectives du fichier ///etc/nsswitch.conf//</del>
 <file - /etc/nsswitch.conf> <file - /etc/nsswitch.conf>
 passwd:        compat winbind db passwd:        compat winbind db