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 Prochaine révision Les deux révisions suivantes | ||
tutoriel:samba_ad_dc_members [Le 03/01/2017, 22:38] 87.66.102.64 Restructuration + Ajout "Mise en correspondance des groupes" |
tutoriel:samba_ad_dc_members [Le 16/07/2018, 22:32] Qedinux [Configurer samba] Mise à jour pour 18.04 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>samba administration windows réseau}} | + | {{tag>tutoriel samba administration windows réseau}} |
+ | ---- | ||
====== Samba AD DC - Intégration de machines au domaine ====== | ====== Samba AD DC - Intégration de machines au domaine ====== | ||
Ligne 27: | 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 83: | 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 | ||
Ligne 100: | 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 112: | 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 263: | Ligne 287: | ||
==== 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 276: | Ligne 301: | ||
<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 |