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 ). 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
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 :
- 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
- 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.
- Nous avons mis des droits peu sécures pour les tests ! Vous pouvez (devez !) bien sûr les adapter à vos besoins.
- 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).
- Nous n'avons pas testé les droits : Ce serait certainement à étudier de plus près pour un peu plus de sécurité.
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 .
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