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
tutoriel:samba_ad_dc_members [Le 21/11/2017, 17:35]
fabux ajout {{tag>tutoriel}}
tutoriel:samba_ad_dc_members [Le 11/09/2022, 12:20] (Version actuelle)
moths-art 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)
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
  • tutoriel/samba_ad_dc_members.1511282109.txt.gz
  • Dernière modification: Le 21/11/2017, 17:35
  • par fabux