[TUTORIEL] Advanced Samba (Domain Member)

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server. Une description est donnée sur le portail phénIXUS : http://www.ixus.net/sme-server/.

[TUTORIEL] Advanced Samba (Domain Member)

Message par agecanonix » 27 Déc 2012 18:21

Bonjour,

Comme promis dans ce post, voici un petit tuto sur l'installation de la contrib Advance Samba et la configuration qui va avec pour répondre au besoin qui y est exprimé.

Avertissement

Ce tuto est en fait la mise au propre des opérations que nous avons effectués pour notre usage propre. Il pourrait y avoir des adaptations à faire selon votre réseau ! En particulier, ne faites jamais de copier-coller des commandes que nous indiquons : vous devez d'abord comprendre ce que vous faites et adapter ces commandes à votre propre cas. Les parties à adapter sont normalement assez faciles à trouver pour qui comprend ce qu'il fait.

Nous ne sommes en rien responsables des éventuelles pertes de données ou d'exploitation ni d'aucune conséquence de l'utilisation de ce tuto.

Advance Samba : la contrib

Cette contribution intéressante de Greg J. Zartman permet de configurer une SME de différentes manières et donc de répondre à des besoins spécifiques non couverts par la SME "out of the box" en ajoutant les possibilités suivantes :

Domain Member :

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

Nous utilisons cette configuration sur une SME en serveur seul qui offre des partages dont l'authentification se fait sur une autre SME configurée en PDC. Bien que nous ne l'ayons pas testé, normalement l'authentification pourrait aussi se faire sur un PDC ou BDC sous n'importe quel OS, dont bien entendu W$.

Backup domain controller (BDC) :

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.

Active Directory domain controller :

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$.

Active Directory domain member :

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

Restrictions/avertissements

Cette contrib n'est pour le moment pas disponible officiellement pour SME 8 (mais s'installe bien et semble bien fonctionner). De plus, certaines configurations n'ont 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.

Installation de SME

La SME (que nous appellerons SME2 dans la suite de ce tuto) est installée comme à l'habitude, en tant que serveur seul. A noter qu'une installation en serveur-passerelle peut probablement aussi être configurée en Domain Member, mais nous n'avons testé qu'en serveur seul. Les ibays sont créées, mais aucun utilisateur ni groupe ne sont configurés, puisque ceux du PDC seront utilisés.

Bien que la contrib ne soit pas officiellement portée sur cette version, nous installons une SME version 8.0.

Notez que nous ouvrons toujour l'accès SSH sur nos SME, au moins pour le réseau local, afin de les configurer facilement depuis un poste client. Ce n'est pas une obligation, si vous ne le faites pas loggez-vous sur la console au lieu de le faire comme nous par ssh depuis un poste client.

Description du réseau

Cette SME est installée dans le LAN d'une autre SME (que nous appellerons SME1 ou PDC) configurée en PDC. Les postes clients, très majoritairement des postes sous Ubuntu, s'authentifient sur la SME faisant office de PDC. La configuration des postes clients pour cette authentification a été faite selon l'excellent tuto de christianc.

Installation de la contrib Advanced Samba

Il semble devenir difficile de se procurer cette contrib, la fin de vie de SME 7.x ayant été annoncée et le portage pour SME 8 n'ayant pas été effectué. Après moult recherches, nous avons fini par trouver ceci : http://distro.ibiblio.org/smeserver/rel ... samba.html

Nous nous loggons root sur SME2
Code : Tout sélectionner
ssh root@IP-de-SME2


Puis nous téléchargeons la contrib par la commande
Code : Tout sélectionner
wget http://distro.ibiblio.org/smeserver/releases/7.6/smecontribs/i386/RPMS/smeserver-adv-samba-0.1.0-7.el4.sme.noarch.rpm


Ensuite, il suffit de l'installer :
Code : Tout sélectionner
yum localinstall smecontribs/i386/RPMS/smeserver-adv-samba-0.1.0-7.el4.sme.noarch.rpm


On obtient normalement :
Code : Tout sélectionner
Dependencies Resolved

================================================================================
 Package
    Arch    Version          Repository                                    Size
================================================================================
Installing:
 smeserver-adv-samba
    noarch  0.1.0-7.el4.sme  /smeserver-adv-samba-0.1.0-7.el4.sme.noarch   21 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total size: 21 k
Is this ok [y/N]:


On répond par Y si les dépendances sont toutes satisfaites. Dans notre cas, tout est Ok :) S'il manquait des dépendances, il conviendrait de trouver le moyen de les satisfaire avant d'aller plus loin.

Ensuite, comme SME a manifestement été écrit par des anciens de chez M$, il faut la redémarrer après chaque installation ou modification (sympa, pour un serveur en production ! Ne le faites qu'à 2h du matin, quand tout le monde dort :evil: ). Mais au préalable, il faut faire prendre en compte la nouvelle installation :
Code : Tout sélectionner
signal-event post-upgrade; signal-event reboot


Une fois que la SME a (enfin !) redémarré, on se logge en root sur sa console ou par ssh depuis un poste distant :
Code : Tout sélectionner
ssh root@IP-de-sme2


et on entre successivement les commandes suivantes pour configurer notre SME en Domain Member :
Code : Tout sélectionner
config setprop smb ServerName Nom-de-sme2
config setprop smb Workgroup Votre-workgroup-ou-domaine
config setprop smb ServerRole DM
config setprop smb WINSServer IP-de-sme1


On vérifie :
Code : Tout sélectionner
config show smb


On devrait trouver :
Code : Tout sélectionner
smb=service
   DeadTime=10080
   DomainMaster=no
   KeepVersions=disabled
   OpLocks=enabled
   OsLevel=35
   RecycleBin=disabled
   RoamingProfiles=no
   ServerName=testbed2
   ServerRole=DM
   ShadowCount=10
   ShadowDir=/home/e-smith/files/.shadow
   UnixCharSet=UTF8
   UseClientDriver=yes
   WINSServer=90.0.0.20
   Workgroup=lei-salem
   status=enabled


Comme par rapport au wiki de contribs.org il manque la ligne "DomainMaster=no", nous ajoutons la commande peut-être inutile :
Code : Tout sélectionner
config setprop smb DomainMaster no


Un nouveau
Code : Tout sélectionner
config show smb

confirme qu'on a bien maintenant la même chose que sur le wiki de contribs.org.

On fait prendre en compte la nouvelle configuration samba :
Code : Tout sélectionner
signal-event workgroup-update


On fait prendre en compte sme2 par le PDC :
Code : Tout sélectionner
net rpc join -U admin


Après saisie du mot de passe de l'admin du PDC, on doit avoir :
Code : Tout sélectionner
Joined domain Votre-workgroup-ou-domaine


On fait prendre en compte ce rattachement par samba :
Code : Tout sélectionner
signal-event workgroup-update


sme2 doit maintenant être accessible par les postes clients avec les utilisateurs configurés sur SME1. On peut le vérifier rapidement en testant l'authentification depuis la console SME2 :
Code : Tout sélectionner
wbinfo -a Un-user-du-PDC


et on obtient :
Code : Tout sélectionner
Enter Un-user-du-PDC's password:
plaintext password authentication failed
Could not authenticate user Un-user-du-PDC with plaintext password
Enter joseph'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 SME2) où l'utilisateur n'est pas connu. Ce qui compte, c'est que l'authentification sur le PDC (la seconde) se passe bien.

Configuration des postes de travail

Comme vous l'avez compris, nous n'aimons pas trop W$, alors nous n'aborderons ici que ce qui concerne les postes sous Linux. Je pense que les windosiens savent bien mieux que moi comment faire avec ce qui leur sert d'OS :P

Nos postes utilisent l'authentification sur le PDC. Nous n'entrons pas dans les détails de comment configurer cela : l'excellent tuto de christianc le fait bien mieux que nous ne saurions le faire ! On suppose donc que l'on travaille sur les postes clients avec un user authentifié par le PDC.

On peut monter une ibay "à la main" de la manière suivante :
Code : Tout sélectionner
sudo mount.cifs //192.168.1.5/smefilms /mnt/films -ousername=Votre-workgroup-ou-domaine/Votre-nom-d-utilisateur,password="NonMaisVousNePensezQuandMemePasQueJeVaisVousLeDonner",uid=10000,gid=10004,file_mode=0777,dir_mode=0777,iocharset=utf8


Notez bien que :
  1. Il faut absolument préciser le Workgroup ou domaine avant le nom de user. Nous n'avons pas trop cherché à savoir pourquoi, mais cela devrait pouvoir être évité par une configuration de samba. Un (trop ?) rapide essai semble montrer que le mettre en option (comme nous le faisons dans la configuration de pam_mount) ne fonctionne pas. Pour Samba, c'est l'option "winbind use default domain = yes" qui permet de ne pas avoir à préciser le Workgroup avant l'utilisateur pour le montage des ibays du PDC. Si quelqu'un a un tuyau sur la question, ce serait sympa d'en faire part ;-)
  2. Nous mettons le mot de passe entre quotes. Ce n'est pas toujours obligatoire, mais s'ils comportent certains caractères spéciaux, la ligne de commande n'est pas valide sans les quotes.
  3. Nous avons mis des droits peu sécures pour les tests ! Vous pouvez (devez !) bien sûr les adapter à vos besoins.
  4. Les uid et gid ne fonctionnent que sous leur forme numérique. Ce sont ceux utilisés par le poste de travail (voir /etc/smb.conf : option "winbind uid = 10000-20000" qui force la numérotation en commençant à 10000, idem pour les groupes).
  5. Nous n'avons pas testé les droits : Ce serait certainement à étudier de plus près pour un peu plus de sécurité.
Montage par pam_mount

Le tuto de christianc utilise pam_mount pour effectuer les montages lors du login, ce qui nous semble une excellente chose et s'avère bien pratique. A noter au passage que nous ne faisons pas de umount -a en fin de session, pam_mount le fait automatiquement... en ne démontant pas tout ce qui est dans /etc/fstab 8-) .

Nous allons donc utiliser ici aussi pam_mount pour effectuer les montages des ibays de SME2. Pour cela, nous allons modifier ainsi la configuration de pam :

Editer /etc/pam.d/gdm et compléter la ligne
Code : Tout sélectionner
auth      required       pam_mount.so

par :
Code : Tout sélectionner
auth      required       pam_mount.so use_first_pass


Ensuite, nous ajoutons dans /etc/security/pam_mount.conf.xml le (ou les) volume à monter :
Code : Tout sélectionner
<volume fstype="cifs" server="IP-de-sme2" path="Nom-de-votre-ibay" mountpoint="Votre-point-de-montage" user="*" options="workgroup=Votre-workgroup-ou-domaine,rw,auto,iocharset=utf8" />


Voilà... en espérant que ce tuto vous sera utile ! Bien sûr, vos remarques sont les bienvenues, et je corrigerai ce tuto en fonction. Nous manquons certes encore de recul pour affirmer sans réserve que tout fonctionne bien, mais cela semble bien être le cas.

PS : il serait bien que quelqu'un mette ça dans le wiki ;-)
agecanonix
 
Message(s) : 26
Inscription : 09 Déc 2012 21:16

Re: [TUTORIEL] Advanced Samba (Domain Member)

Message par jibe » 07 Jan 2013 00:01

Salut agecanonix,

Bravo et merci pour ce tuto ! C'est le genre d'initiative qui manque cruellement sur phénIXUS !

Il tombe d'autant mieux que c'est quelque chose que je voulais mettre en place depuis longtemps chez moi, mais que je n'avais jamais pris le temps de faire. Quand j'ai vu la simplicité de mise en oeuvre, j'ai immédiatement essayé... directement sur ma seconde SME de prod !

Voici donc un bref REX 8 jours après installation :

Petit souci de déconnexion et solution

Pour le moment tout semble aller très bien, sauf que je n'avais plus accès hier aux ibays de ma seconde SME. J'ai dû refaire son rattachement au domaine. Je pense que tu as dû rencontrer le même problème ? Après quelques recherches, j'ai fini par changer sur ma première SME (le PDC, celle que tu nommes SME1) le délai de maintien de la connexion :
Code : Tout sélectionner
config setprop smb DeadTime 0
signal-event workgroup-update


En effet, comme une fois authentifiée, SME2 n'a aucun échange avec SME1, celle-ci provoque la déconnexion au bout de 10080 minutes, soit 7 jours. En mettant DeadTime à zéro, on demande à SME1 de ne jamais provoquer de déconnexion. Je ne suis pas sûr qu'il soit très bon d'interdire ces déconnexions, mais d'un autre côté, le temps est mis à 7 jours d'origine : autant je comprendrais une déconnexion au bout d'une heure ou deux, voire encore une journée sans échanges, autant je ne vois pas bien la différence entre 7 jours et l'éternité pour cela !

Fonctionnement sur serveur-passerelle

L'installation a été faite sur une SME8 en server-gateway : je peux donc confirmer que ça marche dans ce cas également. (ceux qui sont intéressés par l'environnement peuvent consulter le schéma de mon réseau).

Quelques précisions utiles pour compléter le tuto

A propos d'installation, je pense qu'il aurait été utile de préciser :
  • Qu'une seule SME doit offrir le service DHCP. En principe, ce serait plutôt celle servant de PDC, bien qu'il n'y ait pas d'obligation sur ce point.
  • Qu'il me semble logique qu'une seule des SME (toujours sans obligation, ce rôle me parait plus être celui du PDC) se connecte à un serveur NTP distant et serve à tout le réseau de serveur NTP local, y compris à la seconde SME.
  • Qu'il me semble aussi logique que la seconde SME passe par la première pour les requêtes DNS.
  • Qu'un seul serveur de mail soit installé, et que ce soit sur le PDC (sinon, il faudrait créer les utilisateurs sur la seconde SME).

Droits et permissions

Pour ce qui est de la gestion des droits et permissions, j'y reviendrai plus tard : je gère ça pas trop mal me semble-t-il pour les postes authentifiés sur le domaine et les ibays du PDC, mais je n'ai pas bien regardé ce qui concerne les ibays de la seconde SME pour lesquelles il y a quelques trucs qui me chagrinent. Il faut que je regarde ça d'un peu plus près...

Authentification


Pour ce qui est de la nécessité de préciser le workgroup pour monter les ibays de la seconde SME, j'en suis un peu surpris... Je pensais que ça marcherait sans, mais effectivement j'ai le même problème ! Je n'ai pas eu le temps de faire des recherches, mais il y a probablement une solution. Peut-être simplement ajouter "winbind use default domain = yes" au smb.conf de la seconde SME ? Il doit être possible de le tester directement, avant de faire un template si ça s'avère être la solution... Sinon, j'ai eu vu une option concernant le rafraichissement des tickets winbind (winbind refresh tickets = yes peut-être ?), mais je ne sais pas exactement à quoi ça sert et si ça peut être utile dans ce cas... A vérifier ou essayer...

Montages spécifiques par utilisateurs

Pour pam_mount, il est certainement intéressant de préciser qu'il peut y avoir des montages spécifiques par utilisateurs. Pour les mettre en place, il faut éditer /etc/security/pam_mount.conf.xml et :

  • Décommenter la ligne <luserconf name=".pam_mount.conf.xml" />
  • Vérifier et ajuster les lignes concernant les "mntoptions",
  • Spécifier les montages spécifiques dans /home/user/.pam_mount.conf.xml




PS : pour le passage dans le wiki de ton tuto, je pense que ce serait une très bonne chose. Mais je ne m'en chargerai pas : il semble que la majorité des membres les plus actifs considèrent qu'il est plus utile de critiquer ce que je fais et ce que font ou ne font pas les uns et les autres que de faire en sorte que le portail et le wiki soient mis à jour et consultés... Alors, puisque tout ce que je fais est mal et que je suis un bon à rien, je laisse faire ceux qui savent.

PS2 : Sans discuter de l'opportunité de répondre à des posts hors charte comme celui-ci, celui-là et d'autres, je suis quand même surpris que ceux qui ont pris la peine d'essayer d'aider ces assistés gens n'aient pas pris celle de remercier agecanonix, auteur du 3° tuto de phénIXUS, et de 33,33% de la totalité des tutos émis depuis plus d'un an !!!
jibe. En vert ou en rouge-orangé : je modère - En noir ou autre couleur : je parle à titre personnel.

L'idée que quand on n'a pas quelque chose, on puisse se bouger pour l'avoir, c'est une démarche qui parait absolument normale pour les gens du Logiciel Libre et totalement surnaturelle pour tout le reste de la population. (Benjamin Bayart)
jibe
 
Message(s) : 943
Inscription : 09 Sep 2011 23:19
Localisation : Haute Savoie

Re: [TUTORIEL] Advanced Samba (Domain Member)

Message par agecanonix » 07 Jan 2013 08:45

Bonjour,

Merci pour ton retour, jibe ! Je ne pensais pas, en faisant ce tuto, que ce serait un grand spécialiste comme toi qui en profiterait le premier, c'est un grand honneur pour moi !

jibe a écrit :Pour le moment tout semble aller très bien, sauf que je n'avais plus accès hier aux ibays de ma seconde SME. J'ai dû refaire son rattachement au domaine. Je pense que tu as dû rencontrer le même problème ?

Effectivement, j'au eu à retaper la commande
Code : Tout sélectionner
net rpc join -U admin

et je n'avais pas bien compris pourquoi ! Je vais faire comme tu dis !

Merci aussi pour toutes les autres précisions. Je vais regarder tout ça à tête reposée : certaines me seront probablement utiles... ainsi qu'à d'autres !

jibe a écrit :PS2 : Sans discuter de l'opportunité de répondre à des posts hors charte comme celui-ci, celui-là et d'autres, je suis quand même surpris que ceux qui ont pris la peine d'essayer d'aider ces assistés gens n'aient pas pris celle de remercier agecanonix, auteur du 3° tuto de phénIXUS, et de 33,33% de la totalité des tutos émis depuis plus d'un an !!!

Ne t'en fais pas : je n'ai pas fait ça pour être remercié, simplement parce qu'il me parait normal d'apporter sa petite pièrre à l'édifice quand on profite très largement de logiciels open source. C'est vrai que ceux qui en profitent sont majoritairement des parasites, mais si on tient ce raisonnement pour ne rien faire, on n'aura bientôt plus que du W$ à installer sur nos ordinateurs !
agecanonix
 
Message(s) : 26
Inscription : 09 Déc 2012 21:16


Retour vers SME

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron