Advanced Samba SME8

Fonctions Samba avancées sur SME8

BDC, Active Directory, Domain Member


Auteur : Joseph BERAUD (jibe, jibe74)
Sources et sites de référence :

CONTRIBS : le site officiel de SME-Server, qui comporte un forum francophone.
Wiki de CONTRIBS : la page consacrée à Advanced Samba.
SMEserver.fr : Le site de Grand-Pa, LA référence francophone de SME-server.
Ixus : Un forum dédié à la sécurité informatique, dont une large section est consacrée à SME-server avec le tuto de l'ami agecanonix.

Mise a jour : 6 Mai 2014
Licence : GPL/GFDL


Permission est donnée de copier, diffuser et/ou modifier le présent document en vertu des conditions de la licence GPL, Version 2 ou toute autre version plus récente publiée par la fondation pour le logiciel ouvert « Free Software Foundation ». Permission accordée pour la production de copies mot à mot sans les textes de couverture et avec maintien des mentions de copyright et des auteurs. Une copie de la licence GFDL est disponible sur le site de la Free Software Foundation à l'adresse http://www.fsf.org/copyleft/fdl.html .

Tous les noms et marques de commerce sont la propriété de leurs titulaires respectifs.

"Vite, Simple et Bien" est la devise de FreeEOS.


1. But de ce document

1.1. A Propos de ce guide

Le but principal est d'arriver à authentifier une SME sur une autre, dans le but de pouvoir monter ses ibays sur les postes de travail sans avoir à recréer sur cette seconde SME les utilisateurs s'authentifiant sur la première qui sert de PDC.

J'ai pour cela utilisé l'excellent tuto donné par agecanonix sur Ixus, tombé à point nommé lorsque je cherchais à faire cela. Du coup, j'ai pu immédiatement valider son tuto dans des conditions un tout petit peu différentes des siennes (ma seconde SME étant en server-gateway, pour cause de double accès Internet, chacun se faisant par sa propre SME).

Ce document est donc principalement la copie remise en forme du tuto d'agecanonix, avec quelques ajouts dont beaucoup ont été commentés sur Ixus, suite au tuto.

Même si la contribution que j'ai utilisée permet d'autres fonctionnalités, et bien que j'en dise parfois quelques mots, le but de ce document reste l'authentification d'une SME sur une autre, et seule cette fonction est traitée ici. Il est possible que cet usage exclusif tel que décrit ici soit incompatible avec les autres fonctionnalités prévues dans la contribution. Ceux qui désirent profiter des autres fonctionnalités seront donc éventuellement amenés à modifier plus ou moins profondément la procédure de mise en service exposée ici.

1.2. Fonctionnalités

Membre de domaine (Domain Member)

Dans cette configuration, SME présente ses ibays comme des partages Samba du domaine ou du groupe de travail, mais en permettant que l'authentification se fasse sur un serveur différent, et cela sans que les utilisateurs aient à être configurés localement.

Agecanonix utilise cette configuration sur une SME serveur seul, et personnellement sur une SME serveur-passerelle. Dans les deux cas, nos SME "Membre de domaine" offrent des partages dont l'authentification se fait sur une autre SME faisant office de PDC. Bien que ne l'ayant pas plus testé qu'agecanonix, je pense pouvoir affirmer que cette authentification pourrait aussi bien se faire sur n'importe quel PDC ou même BDC tournant sur n'importe quel OS, dont bien sûr Windows.

BDC (Backup Domain Controler)

Dans cette configuration, SME présente toutes les caractéristiques d'un Domain Member comme décrit ci-dessus, mais aussi peut aussi faire office de contrôleur de domaine de secours (BDC). Comme pour le Domain Member, les utilisateurs n'ont pas besoin d'être créés normalement, le BDC va de lui-même chercher les informations nécessaires sur le PDC, et en gardera des copies locales pour le cas où il devrait remplacer le PDC défaillant.

AD DC (Active Directory Domain Controler)

Cette configuration est assez similaire à celle d'un PDC, fournie d'origine par SME. En plus des fonctions de PDC d'origine, SME maintiendra le répertoire des services Active Directory et sera capable de remplacer un serveur AD sous W$.

Membre de domaine Active Directory

Cette configuration est assez similaire à celle d'un Domain Member, avec en plus l'accès aux services AD.

1.3. Restrictions et avertissements

On utilise une contrib nommée "Advanced Samba". Il en existe une version pour SME8, mais elle présente l'inconvénient de nécessiter la version "testing" de samba pour SME. A l'époque où j'ai installé cette contrib, il n'existait que la version pour SME7, que j'ai pu installer sur SME8 sans changer de version de Samba.

On utilise donc ici la contrib "Advanced Samba", créée pour SME7. Elle s'installe cependant sans problème sur SME8 et me donne toute satisfaction pour l'usage que j'en fais (je n'utilise que la fonction "Domain Member") depuis fin 2012. Certaines configurations n'ont donc pas été testées en conditions réelles et doivent donc être utilisées avec prudence. A noter également que certaines demandent une connaissance approfondie de SME, Samba et Active Directory pour être mises en oeuvre.

Pour le moment, ces configurations ne seront pas décrites et ne le seront que si on me le demande. Ceux qui veulent peuvent les essayer s'ils se sentent capables de les mettre en service (sur une machine de test, virtuelle ou non, on ne prend pas gros risque !), mais je ne peux même pas garantir qu'elles puissent fonctionner, puisque je ne les ai pas essayées. Si certains tentent l'aventure, je serais très heureux qu'ils m'informent des résultats qu'ils obtiennent, qu'ils soient fructueux ou non.

1.4. Mise en place

Les manips sont données telles que je les réalise, sans aucune garantie. Pour les mettre en place, vous devez comprendre ce que vous faites et les risques que cela comporte, tout au long de chaque procédure. Le risque ne réside en fait que dans des manipulations erronnées ou mal adaptées.

Avant de faire quoi que ce soit sur un poste en production, vous devriez l'expérimenter préalablement sur un appareil de test (qui peut, si besoin, être une machine virtuelle).

Attention au copier-coller : pour cette première version du document, je n'ai relu que très rapidement. Une faute de frappe ou autre erreur a pu se glisser dans l'une ou l'autre commande. Vous devez comprendre chacune d'elle avant de les lancer ! Merci de me signaler toute coquille afin que je corrige au plus vite.

2. Installation

J'avais eu du mal à trouver la contrib à l'époque, et je crains qu'elle ne soit plus du tout disponible dans la version que j'ai installée et qui ne nécessite pas de changer de version de Samba. Je la mets donc à disposition pour ceux qui préfèrent une version certes obsolète mais qui a fait ses preuves plutôt que la version officielle de contribs.org qui nécessite la version testing de samba. Pour ma part, je ne prends pas le risque totalement inutile dans ce cas de mettre une version testing sur un serveur de prod !

2.1. Côté SME

Pour utilisation en Domain Member, la SME est installée tout à fait normalement, en serveur seul ou serveur passerelle selon les besoins. Inutile de créer des utilisateurs et des groupes (c'était bien le but !).

La SME doit avoir le même nom de domaine ou groupe de travail que le PDC. Si les deux ont un accès internet, on peut très bien avoir deux noms de domaine différents (c'est le cas de mon installation personnelle), on travaille alors avec un workgroup commun.

Attention qu'il n'y en ait qu'une des deux qui soit serveur DHCP (normalement, le PDC, mais ce n'est pas une obligation) et une seule configurée en serveur mail. Idem pour NTP : une seule SME devrait se connecter à un serveur maitre, et servir de serveur secondaire à tout le réseau.

Pour les requêtes DNS, si la seconde SME est configurée en passerelle, on peut passer indifféremment par l'une ou par l'autre. Il me semble toutefois préférable qu'une des deux seulement soit utilisée, l'autre lui faisant ses propres requêtes. Ceci me semble une architecture moins "usine à gaz", et surtout on n'a pas besoin de reporter sur la seconde tout les noms d'hôtes utilisés localement.

Bien que ce ne soit nullement obligatoire, je conseille vivement d'ouvrir l'accès SSH au moins sur le LAN : c'est quand même bien agréable de pouvoir intervenir à distance, ne serait-ce que pour ne pas avoir à installer un écran-clavier sur le serveur !

2.2. Côté réseau

Les deux SME sont reliées par leur LAN, sur lequel se trouvent également les postes clients. Montage simple et classique, la seule petite particularité étant la présence de deux SME, éventuellement configurées toutes deux en passerelle, ce qui donne dans ce cas un double accès Internet.

2.3. Advanced Samba

L'installation est très simple :

wget http://bj-informatique.com/download/smeserver-adv-samba-0.1.0-7.el4.sme.noarch.rpm yum localinstall smeserver-adv-samba-0.1.0-7.el4.sme.noarch.rpm

Normalement, toutes les dépendances nécessaires sont dans les repos "normales" de SME. Si toutefois il en manquait, il conviendrait de les résoudre avant d'aller plus loin. Merci également de me faire connaitre les difficultés sur ce point afin que je puisse compléter et améliorer ce tuto.

N'oubliez pas ensuite de faire le traditionnel

signal-event post-upgrade signal-event reboot

(À deux heures du matin, comme le mentionne assez justement ce râleur d'Agecanonix...qui réussit à l'être plus que moi, performance remarquable ! :-P)

3. Configuration de la SME

3.1. Configuration

On se connecte en root sur la SME, et on tape les commandes suivantes :

config setprop smb ServerName Nom-de-cette-sme
config setprop smb Workgroup Votre-workgroup-ou-domaine
config setprop smb ServerRole DM
config setprop smb WINSServer IP-du-PDC
config setprop smb DomainMaster no

3.2. Vérification

Avant d'aller plus loin, on vérifie qu'on ait bien la bonne config, et on corrige le cas échéant :

config show smb

On devrait trouver :

smb=service
    DeadTime=10080
    DomainMaster=no
    KeepVersions=disabled
    OpLocks=enabled
    OsLevel=35
    RecycleBin=disabled
    RoamingProfiles=no
    ServerName=Nom-de-cette-sme
    ServerRole=DM
    ShadowCount=10
    ShadowDir=/home/e-smith/files/.shadow
    UnixCharSet=UTF8
    UseClientDriver=yes
    WINSServer=(IP-du-PDC)
    Workgroup=Votre-workgroup-ou-domaine
    status=enabled

3.3. Prise en compte et rattachement au domaine

On fait prendre en compte la nouvelle configuration samba et on rattache au domaine :

signal-event workgroup-update
net rpc join -U admin

Après saisie du mot de passe de l'admin du PDC, on doit avoir :

Joined domain Votre-workgroup-ou-domaine

Après saisie du mot de passe de l'admin du PDC, on doit avoir :

Joined domain Votre-workgroup-ou-domaine

Ensuite, on fait prendre en compte ce rattachement par samba :

signal-event workgroup-update

Notre SME doit maintenant être accessible par les postes clients avec les utilisateurs configurés sur le PDC. On peut le vérifier rapidement en testant l'authentification depuis la console de notre SME :

wbinfo -a Un-user-du-PDC

et on obtient, après avoir donné le mot de passe voulu :

Enter Un-user-du-PDC's password:
plaintext password authentication failed
Could not authenticate user Un-user-du-PDC with plaintext password
Enter Un-user-du-PDC's password:
challenge/response password authentication succeeded

Notez que l'erreur après la première saisie du mot de passe est normale : elle correspond à l'authentification locale (sur notre SME) où l'utilisateur n'est pas connu. Ce qui compte, c'est que l'authentification sur le PDC (la seconde) se passe bien.

3.4. Configuration des postes de travail

Je ne traiterai ici que des postes sous Linux : je n'ai pour l'instant pas eu l'occasion de mettre ça en place sur des postes Windows, je préfère donc m'abstenir de parler de quelque chose que je n'ai pas expérimenté.

On part du principe ici que les postes de travail sont déjà configurés pour l'authentification sur le PDC. Si ce n'est pas le cas, il suffit de suivre le tuto correspondant.

3.4.1 Montage manuel

Si l'utilisateur s'est déjà authentifié sur le PDC, il peut monter une ibay de notre SME "Domain Member" de la manière suivante :

sudo mount.cifs //IP-de-SME-DM/Nom-de-l-ibay /mnt/Nom-du-repertoire-de-montage -ousername=Votre-workgroup-ou-domaine/Votre-nom-d-utilisateur,password="Mot-de-passe-utilisateur",uid=100xx,gid=100yy,file_mode=0777,dir_mode=0777,iocharset=utf8

Notez bien :

  • 1 - Le nom du répertoire de montage peut être n'importe quel nom de répertoire valide, et doit être préalablement créé s'il n'est pas directement sous /media.
  • 2 - Le nom de l'ibay est celui visible dans la page "ibay" du server-manager.
  • 3 - Il faut absolument préciser le Workgroup ou domaine avant le nom de user. Je pense qu'un paramétrage de Samba devrait permettre de l'éviter, mais je n'ai pas su trouver. Toute info sur le sujet sera la bienvenue !
  • 4 - Le mot de passe est mis entre quotes. Ce n'est pas toujours obligatoire, mais s'il comporte certains caractères spéciaux, la ligne de commande ne sera pas valide sans les quotes.
  • 5 - Je mets toujours des droits restrictifs quand il n'y a pas de bonne raison de faire autrement. Les adapter si besoin.
  • 6 - Les UID et GID doivent être adaptés, au besoin vous pouvez les trouver par la commande ls -an.

3.4.1 Montage par pam_mount

Si le montage doit être fait à chaque connexion, on a tout intérêt à le faire avec pam_mount. Le démontage sera fait automatiquement lors de la fin de session, sans toucher aux montages définis par /etc/fstab.

La première chose à faire est de s'assurer qu'on ait bien dans /etc/pam.d/mdm (ou autre, selon le gestionnaire de fenêtre de connexion utilisé : gdm, xdm, lightdm...) :

auth required pam_mount.so use_first_pass

Ensuite, il faut ajouter dans /etc/security/pam_mount.conf.xml le(s) volume(s)) à monter :

3.5. Configuration du PDC

La SME configurée en Domain Member, une fois connectée, n'a plus aucun échange d'authentification avec le PDC, et on assiste à une déconnexion au bout de 7 jours (cela correspond aux 10080 minutes paramétrés par défaut). Il faut donc demander à Samba de maintenir le rattachement au domaine pendant un temps infini. Pour cela, il faut lancer les commandes suivantes en root sur le PDC :

config setprop smb DeadTime 0
signal-event workgroup-update

A. Changelog

6 Mai 2014 : Première version.

Nagasunod sa CSS Conformité XHTML 1.1 Nagasunod sa istandard Babaw sang pahina Puluy-anInformaticsTraduksiyonDokumentasyonSari-sari
DokumentasyonFreeEOS/SMEAffa