<?xml version="1.0" encoding="iso-8859"?> <!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> <chapter id="FastStart"> <chapterinfo> <!--&author.jht;--> </chapterinfo> <title>Une prise en main rapide: la solution à vos attentes</title> <para> Lorsque nous recherchions des suggestions afin de compléter la documentation HOWTO de Samba, une personne nous a demandé des exemples de configuration, et elle en demandait un paquet. C'est une tâche particulièrement difficile à réaliser sans perdre les nombreux avantages que l'on peut tirer d'une présentation à partir de systèmes en fonctionnement. La suite de ce document tente d'y remédier par des descriptions approfondies des différentes possibilités de configuration, tout en restant dans le contexte du chapitre. Nous espérons que ce chapitre répondra à vos attentes. </para> <para> L'information donnée dans ce chapitre n'est pas très fournie comparé au livre <quote>Samba-3 by Example</quote> qui a été écrit au moment où la version originale de ce livre était sur le point d'être achevée. <quote>Samba-3 by Example</quote> était le résultat des retours d'informations des relecteurs lors de la première édition de l'exemplaire finale. Il était intéressant de constater que les retours des lecteurs reflétaient ceux donnés par les relecteurs originaux. Toutefois, nous avons passé un mois et demi à faire des recherches de façon à mieux réfléchir à ce qui serait le plus utile pour les administrateurs réseaux novices ou expérimentés. Le livre <quote>Samba-3 by Example</quote> est le résultat de cette recherche. Ce qui est présenté ici en quelques pages est traité d'une manière plus exhaustive dans la seconde édition de <quote>Samba-3 by Example</quote>. Les deux livres verront leur deuxième édition paraître en même temps. </para> <para> Ainsi en résumé, le livre <quote>The Official Samba-3 HOWTO & Reference Guide</quote> représente l'équivalent pour un mécanicien d'un guide de réparation de voitures. Le livre <quote>Samba-3 by Example</quote> est l'équivalent du guide du conducteur qui décrit comment conduire sa voiture. Si vous voulez des exemples complets de configuration réseau, vous pouvez aller à l'adresse suivante <ulink url="http://www.samba.org/samba/docs/Samba3-ByExample.pdf">Samba-3 by Example</ulink>. </para> <sect1> <title>Caractéristiques et avantages</title> <para> Avec Samba, on n'a pas besoin de faire beaucoup de configuration pour créer un système de base qui fonctionne. Plus on avance dans ce chapitre, plus les exemples sont complexes, et toutes les étapes et les changements liés au fichier de configuration seront explicités. Il faut savoir qu'un système configuré dans le détail, sera plus à même d'utiliser des fonctionnalités intelligentes supplémentaires. Nous traiterons ces fonctionnalités supplémentaires dans la suite de ce document. </para> <para> Certains exemples utilisés ici proviennent de personnes qui désiraient des exemples de configuration. L'anonymat de ces personnes est préservé de façon à les protéger contre d'éventuelles erreurs, et toute ressemblance avec des sites imaginaires n'existant pas est volontaire. </para> </sect1> <sect1> <title>Sites où l'on trouve des exemples</title> <para> Dans la première série d'exemples de configuration, nous considérons que nous sommes dans le cas exceptionnel où le système est simple. Il est très tentant de faire compliqué quand on peut faire simple. </para> <para> <link linkend="anon-ro"></link> apporte des informations sur le type de serveur qui pourrait suffire à fournir des images de CD-ROM, ou qui pourrait référencer des fichiers de documentation pour l'utilisation d'un client réseau. Cette configuration est également abordée à <link linkend="StandAloneServer"></link>, <link linkend="RefDocServer"></link>. Le but de cette configuration est de fournir un volume partagé disponible en lecture seule pour tous, y compris les invités. </para> <para> Le deuxième exemple décrit une configuration minimale pour un serveur d'impression auquel toute personne peut accéder pour imprimer à la condition d'avoir les bons pilotes installés sur son ordinateur. Voici un miroir du système décrit dans <link linkend="StandAloneServer"></link>, <link linkend="SimplePrintServer"></link>. </para> <para> L'exemple suivant porte sur un serveur d'impression et de fichiers de bureau sécurisés, qui sera seulement accessible aux utilisateurs possèdant un compte sur le système. Ce serveur ressemble beaucoup à un serveur d'impression et de fichiers de groupes de travail, sauf qu'il doit être plus sécurisé qu'une machine acceptant les accès anonymes. Cette catégorie de système convient particulièrement aux besoins d'un petit bureau. Le serveur ne possède pas d'interface pour s'identifier sur le réseau et rien n'est fournit pour le contrôle du domaine; le serveur apparaît plus comme un simple NAS et un serveur d'impression. </para> <para> L'exemple d'après traîte de systèmes plus complexes qui peuvent soit s'intégrer dans des réseaux déjà en place de type MS Windows ou soit les remplacer entièrement. On s'intéressera aux serveurs membres du domaine ainsi qu'au contrôle du domaine Samba (PDC/BDC). Pour finir, l'exemple décrit de manière détaillée un grand réseau distribué avec des succursales distantes. </para> </sect1> <sect1> <title>Les exemples sélectionnés</title> <para> Les exemples de configuration ont été choisis afin de traîter tous les aspects à prendre en compte pour faire fonctionner Samba. Nous n'avons pas traîté la configuration pour les plate-formes des systèmes d'exploitation de base, ce qui n'entrerait pas dans le cadre de ce texte. </para> <para> On part également du principe que Samba a été installé correctement, soit par l'installation des paquetages fournis par votre revendeur de système d'exploitation ou par quelque autre moyen que ce soit. </para> <sect2> <title>Serveur autonome</title> <para> Un serveur autonome implique simplement que ce n'est pas un contrôleur de domaine et qu'il ne participe donc pas au contrôle du domaine. Il peut s'agir d'un simple serveur de type workgroup, ou encore d'un serveur complexe jouant un rôle dans la sécurité du domaine. </para> <para> Au fur et à mesure des exemples, nous essayons d'améliorer au maximum les capacités du système, comme si nous devions nous occuper d'une véritable entreprise avec un réseau toujours plus grand, et des besoins en perpétuel changement. </para> <sect3 id="anon-ro"> <title>Serveur de documents en lecture seule avec accès anonyme</title> <para> L'objectif de ce type de serveur est de rendre disponible à tous les utilisateurs, tous les documents ou fichiers qui ont été placés en ressources partagées. Les ressources partagées peuvent être un lecteur de CD-ROM, une image de CD-ROM, ou un espace de stockage pour les fichiers. </para> <itemizedlist> <listitem><para> L'endroit où les fichiers seront partagés sera<filename>/export</filename>. </para></listitem> <listitem><para> Tous les fichiers appartiendront à un utilisateur nommé Jack Baumbach. L'identifiant de Jack sera <emphasis>jackb</emphasis>. Son mot de passe sera <emphasis>m0r3pa1n</emphasis> <!--&smbmdash;--> bien sûr, il ne s'agit que d'un exemple; ne l'utilisez pas dans un environnement de production car tous les lecteurs de ce document le connaîtront. </para></listitem> </itemizedlist> <procedure> <title>Procédure d'installation: serveur en lecture seule</title> <step><para> Ajoutez un utilisateur au système (avec la création du répertoire principale de cet utilisateur): <screen> <!--&rootprompt;--><userinput>useradd -c "Jack Baumbach" -m -g users -p m0r3pa1n jackb</userinput> </screen> </para></step> <step><para> Créez le répertoire, et attribuez les droits d'accès ainsi que le nom de l'utilisateur propriétaire: <screen> <!--&rootprompt;--><userinput>mkdir /export</userinput> <!--&rootprompt;--><userinput>chmod u+rwx,g+rx,o+rx /export</userinput> <!--&rootprompt;--><userinput>chown jackb.users /export</userinput> </screen> </para></step> <step><para> Copiez les fichiers destinés à être partagés dans le répertoire <filename>/export</filename>. </para></step> <step><para> Installez le fichier de configuration de Samba (<filename>/etc/samba/smb.conf</filename>) comme décrit à l'adresse suivante : <link linkend="anon-example">Configuration d'un serveur en lecture seule avec un accès anonyme</link>. </para></step> <example id="anon-example"> <title>Configuration d'un serveur en lecture seule et avec un accès anonyme</title> <smbconfblock> <smbconfcomment>Paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">HOBBIT</smbconfoption> <smbconfoption name="security">share</smbconfoption> <smbconfsection name="[data]"/> <smbconfoption name="comment">Data</smbconfoption> <smbconfoption name="path">/export</smbconfoption> <smbconfoption name="read only">Yes</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> </smbconfblock> </example> <step><para> Testez le fichier de configuration en exécutant la commande suivante: <screen> <!--&rootprompt;--><userinput>testparm</userinput> </screen> En revanche, si vous travaillez à partir d'un fichier de configuration maître nommé <filename>smb.conf.master</filename>, la séquence de commandes suivante sera plus adaptée : <screen> <!--&rootprompt;--> cd /etc/samba <!--&rootprompt;--> testparm -s smb.conf.master > smb.conf <!--&rootprompt;--> testparm </screen> Notez tous les messages d'erreur qui ont pû apparaître. Ne poursuivez que si aucune erreur n'est signalée. Voici un exemple classique d'une sortie qui sera générée par le fichier de configuration ci-dessus : <screen> Load smb config files from /etc/samba/smb.conf Processing section "[data]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions <userinput>[Press enter]</userinput> # Global parameters [global] workgroup = MIDEARTH netbios name = HOBBIT security = share [data] comment = Data path = /export read only = Yes guest only = Yes </screen> </para></step> <step><para> Lancez Samba en utilisant la méthode en vigueur pour la plate-forme de votre système d'exploitation. La méthode à utiliser dépend de la plate-forme. Reportez-vous à <link linkend="startingSamba">Comment lancer Samba</link> pour plus d'informations à ce sujet. </para></step> <step><para> Configurez votre client MS Windnows pour les groupes de travail <emphasis>MIDEARTH</emphasis>, donnez le nom ROBBINS à votre machine, redémarrez, attendez quelques minutes (entre 2 et 5 minutes), ensuite ouvrez l'explorateur Windows et explorez le voisinage réseau. La machine HOBBIT devrait être visible. Lorsque vous cliquez sur l'icône de la machine, il vous ouvre l'accès aux <emphasis>données</emphasis> partagées. Après avoir cliqué sur les données partagées, vous devez avoir accès aux fichiers placés précédemment dans le répertoire <filename>/export</filename>. </para></step> </procedure> <para> Les informations ci-dessus (situées après # Paramètres globaux) fournissent le contenu entier du fichier <filename>/etc/samba/smb.conf</filename>. </para> </sect3> <sect3> <title>Serveur de documents en lecture et écriture avec accès anonyme</title> <para> Il faut voir cette configuration comme une suite à l'exemple précédent. La différence est que l'accès partagé peut être imposé à l'utilisateur jackb et au groupe principal auquel jackb appartient. On peut encore faire mieux et ajouter l'utilisateur <emphasis>jackb</emphasis> au fichier <filename>smbpasswd</filename>. Pour faire cela, exécutez les commandes suivantes : <screen> <!--&rootprompt;--><userinput>smbpasswd -a jackb</userinput> New SMB password: <userinput>m0r3pa1n</userinput> Retype new SMB password: <userinput>m0r3pa1n</userinput> Added user jackb. </screen> L'ajout de cet utilisateur au fichier <filename>smbpasswd</filename> fait que, dans les Propriétés, il sera indiqué que tous ces fichiers appartiennent à <emphasis>jackb</emphasis> et non à <emphasis>Utilisateur inconnu</emphasis>. <para> Le fichier <!--&smb.conf;-->, modifié et complété, peut être vu à l'adresse suivante <link linkend="anon-rw"/>. </para> <example id="anon-rw"> <title>Fichier smb.conf modifié en lecture et écriture avec un accès anonyme </title> <smbconfblock> <smbconfcomment>Paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">HOBBIT</smbconfoption> <smbconfoption name="security">SHARE</smbconfoption> <smbconfsection name="[data]"/> <smbconfoption name="comment">Data</smbconfoption> <smbconfoption name="path">/export</smbconfoption> <smbconfoption name="force user">jackb</smbconfoption> <smbconfoption name="force group">users</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> </smbconfblock> </example> </sect3> <sect3> <title>Serveur d'impression anonyme</title> <para> La mise en place d'un serveur d'impression anonyme a deux objectifs : </para> <itemizedlist> <listitem><para> il permet aux utilisateurs de lancer des impressions sur toutes les imprimantes à partir d'un seul endroit. </para></listitem> <listitem><para> il réduit l'encombrement du réseau lorsque des utilisateurs tentent d'accéder à un nombre limité d'imprimantes. </para></listitem> </itemizedlist> <para> Même pour les serveurs d'impression anonymes les plus simples, il est souvent nécessaire d'installer sur la station de travail Windows les bons pilotes pour l'imprimante. Dans ce cas là, le serveur d'impression doit être conçu uniquement pour transmettre les tâches d'impression au spouleur, et ce dernier doit être configuré pour laisser passer l'information brute à l'imprimante. En d'autres termes, le spouleur d'impression ne doit pas filtrer ou modifier le flux de données se dirigeant vers l'imprimante. </para> <para> Avec cette configuration, il n'est pas souhaitable de s'intéresser au "Add Printer Wizard", et comme nous ne voulons pas de téléchargements automatiques de pilotes, nous le désactivons dans la configuration suivante. <link linkend="anon-print"></link> est le fichier qui en résulte <!--&smb.conf;-->. </para> <example id="anon-print"> <title>Fichier smb.conf du serveur d'impression anonyme</title> <smbconfblock> <smbconfcomment>paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">LUTHIEN</smbconfoption> <smbconfoption name="security">share</smbconfoption> <smbconfoption name="printcap name">cups</smbconfoption> <smbconfoption name="disable spoolss">Yes</smbconfoption> <smbconfoption name="show add printer wizard">No</smbconfoption> <smbconfoption name="printing">cups</smbconfoption> <smbconfsection name="[printers]"/> <smbconfoption name="comment">All Printers</smbconfoption> <smbconfoption name="path">/var/spool/samba</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> <smbconfoption name="printable">Yes</smbconfoption> <smbconfoption name="use client driver">Yes</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> </smbconfblock> </example> <para> La configuration ci-dessus est loin d'être parfaite. Elle ne permet pas l'utilisation de fonctionnalités avancées et ne constitue pas une solution très élégante. Mais cela est voulu : elle est élémentaire et permet effectivement l'impression. Samba utilise les API d'impression directe fournies par CUPS. Une fois la compilation de Samba et l'édition des liens avec les bibliothèques de CUPS effectuées, le système d'impression par défaut sera CUPS. En attribuant la valeur CUPS à "printcap name", Samba utilisera les API des bibliothèques de CUPS pour communiquer directement avec le CUPS et accéder à toutes les fonctions des imprimantes. Il est possible d'imposer l'utilisation de commandes d'impression externes en réglant la valeur de <parameter>"printing"</parameter> soit à SYSV ou à BSD, et donc la valeur du paramètre <parameter>"printcap name"</parameter> doit avoir une valeur différente de "CUPS". Dans ce cas là, ce dernier paramètre peut avoir comme valeur le nom de n'importe quel fichier qui contient une liste des imprimantes qui devront être rendues disponibles aux clients Windows. </para> <note><para> Les utilisateurs Windows devront installer une imprimante locale et ensuite modifier la fonctionnalité impression vers périphérique [print to device] après l'installation des pilotes. L’impression vers périphérique peut ensuite être réglée sur l’imprimante du réseau pour cette machine. </para></note> <para> Vérifiez que le répertoire <filename>/var/spool/samba</filename> peut être utilisé comme voulu. Pour cela, vous devez suivre les étapes suivantes : </para> <itemizedlist> <listitem><para> Le répertoire doit appartenir au superutilisateur (root), utilisateur et groupe : <screen> <!--&rootprompt;--><userinput>chown root.root /var/spool/samba</userinput> </screen> </para></listitem> <listitem><para> Les droits d'accès doivent être configurés de manière à autoriser les lecture-écritures publiques en réglant le bit de rappel [sticky bit], de la façon suivante : <screen> <!--&rootprompt;--><userinput>chmod a+twrx /var/spool/samba</userinput> </screen> La configuration du bit de rappel a pour but de garantir qu'une personne non propriétaire du fichier d'impression temporaire ne puisse pas en prendre le contrôle, et donc d'éviter tout mauvais usage potentiel mal intentionné. </para></listitem> </itemizedlist> <note><para> Sur les systèmes compatibles CUPS, il est possible de transférer directement les données brutes à l'imprimante sans traitement préalablement via les filtres d'impression CUPS. Si on souhaite utiliser cette technique, il faut configurer un périphérique d'impression brute. Il est également nécessaire d'activer le gestionnaire de protocole mime pour les fichiers bruts dans les fichiers <filename>/etc/mime.conv</filename> et <filename>/etc/mime.types</filename>. Vous pouvez vous reporter à <link linkend="cups-raw"></link>. </para></note> </sect3> <sect3> <title>Serveur sécurisé d'impression et de fichiers en lecture-écriture</title> <para> Nous passons maintenant d'un système simple à un serveur légèrement plus compliqué. </para> <para> Notre nouveau serveur aura besoin d'un espace de stockage pour des données publiques, dans lequel seuls les utilisateurs authentifiés (c'est-à-dire ceux possédant un compte local) pourront stocker des fichiers, ainsi qu’un répertoire local. Une imprimante devra être disponible afin de pouvoir être utilisée par tout le monde. </para> <para> Dans cet environnement hypothétique (il n’a pas été nécessaire de jouer aux espions pour obtenir ces informations), le site exige un environnement simple qui soit <emphasis>assez sécurisé</emphasis> mais pas trop compliqué à utiliser. </para> <para> Les utilisateurs du site seront Jack Baumbach, Mary Orville, and Amed Sehkah. Chacun aura un mot de passe (qui ne sera pas montré dans les exemples ultérieurs). Mary sera l'administratrice de l'imprimante et sera propriétaire de tous les fichiers de l'espace publique partagé. </para> <para> Cette configuration sera basée sur <emphasis>la sécurité niveau utilisateur</emphasis> qui correspond au niveau par défaut, et pour lequel les mots de passes cryptés compatibles avec les systèmes Microsoft Windows seront stockés dans un fichier appelé <filename>/etc/samba/smbpasswd</filename>. L'entrée par défaut du fichier <!--&smb.conf;--> qui rend cela possible est <smbconfoption name="passdb backend">smbpasswd, guest</smbconfoption>. Comme il s'agit d'une configuration par défault, il n'est pas nécessaire de modifier le fichier de configuration. Il est à noter que le backend de l'invité s'ajoute à la liste des "passdb backends" actifs que cela soit spécifié dans le fichier de configuration de Samba ou non. </para> <procedure> <title>Installation d'un serveur d'entreprise sécurisé</title> <step><para> Ajoutez tous les utilisateurs au système d'exploitation : <screen> <!--&rootprompt;--><userinput>useradd -c "Jack Baumbach" -m -g users -p m0r3pa1n jackb</userinput> <!--&rootprompt;--><userinput>useradd -c "Mary Orville" -m -g users -p secret maryo</userinput> <!--&rootprompt;--><userinput>useradd -c "Amed Sehkah" -m -g users -p secret ameds</userinput> </screen> </para></step> <step><para> Configurez le fichier Samba <!--&smb.conf;--> en suivant les indications données dans <link linkend="OfficeServer"/>. </para></step> <example id="OfficeServer"> <title>Fichier smb.conf du serveur d'entreprise sécurisé</title> <smbconfblock> <smbconfcomment>Paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">OLORIN</smbconfoption> <smbconfoption name="printcap name">cups</smbconfoption> <smbconfoption name="disable spoolss">Yes</smbconfoption> <smbconfoption name="show add printer wizard">No</smbconfoption> <smbconfoption name="printing">cups</smbconfoption> <smbconfsection name="[homes]"/> <smbconfoption name="comment">Home Directories</smbconfoption> <smbconfoption name="valid users">%S</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> <smbconfsection name="[public]"/> <smbconfoption name="comment">Data</smbconfoption> <smbconfoption name="path">/export</smbconfoption> <smbconfoption name="force user">maryo</smbconfoption> <smbconfoption name="force group">users</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfsection name="[printers]"/> <smbconfoption name="comment">All Printers</smbconfoption> <smbconfoption name="path">/var/spool/samba</smbconfoption> <smbconfoption name="printer admin">root, maryo</smbconfoption> <smbconfoption name="create mask">0600</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> <smbconfoption name="printable">Yes</smbconfoption> <smbconfoption name="use client driver">Yes</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> </smbconfblock> </example> <step><para> Initialisez la base de données avec les mots de passes Microsoft Windows des nouveaux utilisateurs : <screen> <!--&rootprompt;--><userinput>smbpasswd -a root</userinput> New SMB password: <userinput>bigsecret</userinput> Reenter smb password: <userinput>bigsecret</userinput> Added user root. <!--&rootprompt;--><userinput>smbpasswd -a jackb</userinput> New SMB password: <userinput>m0r3pa1n</userinput> Retype new SMB password: <userinput>m0r3pa1n</userinput> Added user jackb. <!--&rootprompt;--><userinput>smbpasswd -a maryo</userinput> New SMB password: <userinput>secret</userinput> Reenter smb password: <userinput>secret</userinput> Added user maryo. <!--&rootprompt;--><userinput>smbpasswd -a ameds</userinput> New SMB password: <userinput>mysecret</userinput> Reenter smb password: <userinput>mysecret</userinput> Added user ameds. </screen> </para></step> <step><para> Installez l'imprimante en utilisant l'interface Web de CUPS. Vérifiez que toutes les imprimantes qui seront partagées avec les clients Microsoft Windows sont installées comme périphériques d'impression brute. </para></step> <step><para> Démarrez Samba en utilisant l'interface administrative du système d'exploitation. Samba peut également être démarré manuellement en exécutant : <indexterm><primary>smbd</primary></indexterm> <indexterm><primary>nmbd</primary></indexterm> <indexterm><primary>starting samba</primary><secondary>smbd</secondary></indexterm> <indexterm><primary>starting samba</primary><secondary>nmbd</secondary></indexterm> <screen> <!--&rootprompt;--><userinput> nmbd; smbd;</userinput> </screen> Ces deux applications s'exécutent automatiquement comme démons. Ceux qui sont paranoïaques et qui tiennent à garder le contrôle peuvent ajouter l'option <constant>-D</constant> pour les forcer à démarrer en mode démon. </para></step> <step><para> Configurez le répertoire <filename>/export</filename> : <screen> <!--&rootprompt;--><userinput>mkdir /export</userinput> <!--&rootprompt;--><userinput>chown maryo.users /export</userinput> <!--&rootprompt;--><userinput>chmod u=rwx,g=rwx,o-rwx /export</userinput> </screen> </para></step> <step><para> Vérifiez que Samba fonctionne correctement : <screen> <!--&rootprompt;--><userinput>smbclient -L localhost -U%</userinput> Domain=[MIDEARTH] OS=[UNIX] Server=[Samba-3.0.20] Sharename Type Comment --------- ---- ------- public Disk Data IPC$ IPC IPC Service (Samba-3.0.20) ADMIN$ IPC IPC Service (Samba-3.0.20) hplj4 Printer hplj4 Server Comment --------- ------- OLORIN Samba-3.0.20 Workgroup Master --------- ------- MIDEARTH OLORIN </screen> Le message d'erreur suivant indique que Samba ne s'est pas exécuté : <screen> <!--&rootprompt;--> smbclient -L olorin -U% Error connecting to 192.168.1.40 (Connection refused) Connection to olorin failed </screen> </para></step> <step><para> Connectez-vous à OLORIN en tant que maryo : <screen> <!--&rootprompt;--><userinput>smbclient //olorin/maryo -Umaryo%secret</userinput> OS=[UNIX] Server=[Samba-3.0.20] smb: \> <userinput>dir</userinput> . D 0 Sat Jun 21 10:58:16 2003 .. D 0 Sat Jun 21 10:54:32 2003 Documents D 0 Fri Apr 25 13:23:58 2003 DOCWORK D 0 Sat Jun 14 15:40:34 2003 OpenOffice.org D 0 Fri Apr 25 13:55:16 2003 .bashrc H 1286 Fri Apr 25 13:23:58 2003 .netscape6 DH 0 Fri Apr 25 13:55:13 2003 .mozilla DH 0 Wed Mar 5 11:50:50 2003 .kermrc H 164 Fri Apr 25 13:23:58 2003 .acrobat DH 0 Fri Apr 25 15:41:02 2003 55817 blocks of size 524288. 34725 blocks available smb: \> <userinput>q</userinput> </screen> </para></step> </procedure> <para> Maintenant que vous devez avoir pigé comment faire, il est temps de s'intéresser à des exemples légèrement plus compliqués. Pour le reste de ce chapitre, les instructions seront plus courtes puisqu’on a maintenant des exemples. </para> </sect3> </sect2> <sect2> <title>Serveur membre du domaine</title> <para> Pour cette exemple, nous nous intéressons à la configuration de serveur la plus simple possible, pouvant faire le bonheur du service de la comptabilité d’une entreprise. Vous êtes prévenus : les utilisateurs sont des comptables, et ils sont parfois horriblement exigeants. Il y a un budget pour seulement un serveur dans ce département. </para> <para> Le réseau est géré par un Service Informatique (SI) interne, auquel nous appartenons. La politique interne appliquée est celle de toute organisation de taille moyenne; la Direction des Ressources Humaines estime qu’elle dirige le SI parce qu’elle ajoute ou supprime constamment des utilisateurs. Les directeurs de département, eux, doivent se battre d’arrache-pied pour avoir un accès minimum aux ressources en réseau pour leur personnel. Pour la Comptabilité, ce n’est pas la même chose : ils obtiennent en effet exactement ce qu'ils veulent. Voilà ! Le décor est planté. </para> <para> Nous utilisons les utilisateurs du dernier exemple. Le service de la comptabilité possède une imprimante principale que tous les utilisateurs du service peuvent utiliser. Il y a également une imprimante pour les chèques, qui ne peut être utilisée que par la personne ayant la responsabilité d'imprimer des chèques. Le directeur financier veut que l'accès à cette imprimante soit rigoureusement réservé, et qu'elle se trouve dans la réserve personnelle attenante à son bureau. Cette imprimante doit être par conséquent accessible sur le réseau. </para> <para> Le service de la comptabilité utilise une application comptable nommée <emphasis>SpytFull</emphasis> et qui doit être lancée à partir d'un serveur d'application central. La licence du logiciel ne permet de l'exécuter que sur un seul serveur, il n'y a pas de composants de station de travail, et il s'exécute sur un espace partagé. Les données sont stockées dans un back-end SQL sous UNIX. Les gourous d'UNIX s'occupe de ça, ce n'est donc pas notre problème. </para> <para> La directrice du service de la comptabilité (maryo) veut un système de classement général ainsi qu'un espace de stockage de fichiers séparé pour les lettres circulaires (les "nastygrams" et autres notes de service lapidaires). L'espace pour les lettres doit être en lecture seule pour tout le personnel de la comptabilité excepté pour le directeur. Le système général de fichiers doit avoir un agencement structuré avec un espace commun où tout le personnel peut pouvoir stocker les documents d'intérêt général, ainsi qu'un espace personnel séparé de fichiers pour chaque membre de l'équipe. Il lui faut cependant avoir accès à tous les espaces. Les utilisateurs doivent avoir un répertoire partagé principal privé pour les fichiers personnels liés à leur travail et pour de la documentation ne concernant pas le département. </para> <sect3> <title>Exemple de configuration</title> <para> Considérons <emphasis>valinor</emphasis> comme étant un serveur pour membre du domaine de notre entreprise. D’autre part, la comptabilité ne dispose que d’un serveur local, et les comptes des utilisateurs sont sur les contrôleurs de domaine, tout comme les profils de bureau et tous les fichiers stratégiques du réseau. </para> <procedure> <step><para> N'ajoutez pas d'utilisateurs sur le serveur UNIX/Linux ; tout cela relève du domaine central. </para></step> <step><para> Configurez le fichier <!--&smb.conf;--> comme décrit dans <link linkend="fast-member-server">smb.conf du serveur membre (configuration globale)</link> et dans <link linkend="fast-memberserver-shares">smb.conf du serveur membre (espace partagé et services)</link>. </para></step> <example id="fast-member-server"> <title>Fichier smb.conf du serveur membre (configuration globale)</title> <smbconfblock> <smbconfcomment>Paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">VALINOR</smbconfoption> <smbconfoption name="security">DOMAIN</smbconfoption> <smbconfoption name="printcap name">cups</smbconfoption> <smbconfoption name="disable spoolss">Yes</smbconfoption> <smbconfoption name="show add printer wizard">No</smbconfoption> <smbconfoption name="idmap uid">15000-20000</smbconfoption> <smbconfoption name="idmap gid">15000-20000</smbconfoption> <smbconfoption name="winbind use default domain">Yes</smbconfoption> <smbconfoption name="printing">cups</smbconfoption> </smbconfblock> </example> <example id="fast-memberserver-shares"> <title>Fichier smb.conf du serveur membre (espace partagé et services)</title> <smbconfblock> <smbconfsection name="[homes]"/> <smbconfoption name="comment">Home Directories</smbconfoption> <smbconfoption name="valid users">%S</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> <smbconfsection name="[spytfull]"/> <smbconfoption name="comment">Accounting Application Only</smbconfoption> <smbconfoption name="path">/export/spytfull</smbconfoption> <smbconfoption name="valid users">@Accounts</smbconfoption> <smbconfoption name="admin users">maryo</smbconfoption> <smbconfoption name="read only">Yes</smbconfoption> <smbconfsection name="[public]"/> <smbconfoption name="comment">Data</smbconfoption> <smbconfoption name="path">/export/public</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfsection name="[printers]"/> <smbconfoption name="comment">All Printers</smbconfoption> <smbconfoption name="path">/var/spool/samba</smbconfoption> <smbconfoption name="printer admin">root, maryo</smbconfoption> <smbconfoption name="create mask">0600</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> <smbconfoption name="printable">Yes</smbconfoption> <smbconfoption name="use client driver">Yes</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> </smbconfblock> </example> <step><para> Rejoignez le domaine. Attention : ne démarrez pas Samba avant que cette étape ne soit achevée ! <screen> <!--&rootprompt;--><userinput>net rpc join -Uroot%'bigsecret'</userinput> Joined domain MIDEARTH. </screen> </para></step> <step><para> Vérifiez que vous avez vraiment bien arreté le démon <command>nscd</command> sur tous les systèmes sur lesquels <command>winbind</command> est configuré pour être exécuté. </para></step> <step><para> Démarrez Samba en suivant la méthode relative à la plate-forme de votre système d'exploitation. Si vous désirez le faire manuellement, exécutez ces commandes en mode root : <indexterm><primary>smbd</primary></indexterm> <indexterm><primary>nmbd</primary></indexterm> <indexterm><primary>winbindd</primary></indexterm> <indexterm><primary>starting samba</primary><secondary>smbd</secondary></indexterm> <indexterm><primary>starting samba</primary><secondary>nmbd</secondary></indexterm> <indexterm><primary>starting samba</primary><secondary>winbindd</secondary></indexterm> <screen> <!--&rootprompt;--><userinput>nmbd; smbd; winbindd;</userinput> </screen> </para></step> <step><para> Configurez le fichier de contrôle du "name service switch" (NSS) sur votre système pour gérer les noms des utilisateurs et des groupes via winbind. Editez les lignes suivantes dans <filename>/etc/nsswitch.conf</filename>: <programlisting> passwd: files winbind group: files winbind hosts: files dns winbind </programlisting> </para></step> <step><para> Choisissez le mot de passe à utiliser pour <command>wbinfo</command> : <screen> <!--&rootprompt;--><userinput>wbinfo --set-auth-user=root%'bigsecret'</userinput> </screen> </para></step> <step><para> Vérifiez que cet utilisateur du domaine et les identités des groupes sont définies correctement en exécutant : <screen> <!--&rootprompt;--><userinput>wbinfo -u</userinput> MIDEARTH\maryo MIDEARTH\jackb MIDEARTH\ameds ... MIDEARTH\root <!--&rootprompt;--><userinput>wbinfo -g</userinput> MIDEARTH\Domain Users MIDEARTH\Domain Admins MIDEARTH\Domain Guests ... MIDEARTH\Accounts </screen> </para></step> <step><para> Vérifiez que <command>winbind</command> est en cours de fonctionnement. Ce qui suit correspond à une résolution correcte de nom d'utilisateur via l’utilitaire système <command>getent</command> : <screen> <!--&rootprompt;--><userinput>getent passwd maryo</userinput> maryo:x:15000:15003:Mary Orville:/home/MIDEARTH/maryo:/bin/false </screen> </para></step> <step><para> Pour finir, faisons un test montrant que la situation est sous contrôle, juste pour se rassurer : <screen> <!--&rootprompt;--><userinput>touch /export/a_file</userinput> <!--&rootprompt;--><userinput>chown maryo /export/a_file</userinput> <!--&rootprompt;--><userinput>ls -al /export/a_file</userinput> ... -rw-r--r-- 1 maryo users 11234 Jun 21 15:32 a_file ... <!--&rootprompt;--><userinput>rm /export/a_file</userinput> </screen> </para></step> <step><para> La configuration est maintenant presque terminée, il est donc temps de configurer la structure de répertoires pour ce site : <screen> <!--&rootprompt;--><userinput>mkdir -p /export/{spytfull,public}</userinput> <!--&rootprompt;--><userinput>chmod ug=rwxS,o=x /export/{spytfull,public}</userinput> <!--&rootprompt;--><userinput>chown maryo.Accounts /export/{spytfull,public}</userinput> </screen> </para></step> </procedure> </sect3> </sect2> <sect2> <title>Contrôleur de domaine</title> <para> Pour le reste de ce chapitre, nous allons nous intéresser plus particulièrement à la configuration du contrôleur de domaine. Les exemples qui suivent montrent deux stratégies d'implémentation. Souvenez-vous, notre objectif est de créer une solution simple mais opérationnelle. Plus loin dans ce livre, on aura l’occasion d’aborder des fonctionnalités plus étendues et la complexité qui va avec. </para> <para> Une configuration de contrôleur de domaine peut être réalisée simplement, en utilisant le nouveau fichier de gestion des mots de passe tdbsam. Ce type de configuration convient aux petites entreprises, cependant son aptitude pour passer à l'échelle est limitée (pas de possibilité de duplication), et on peut s'attendre à ce que ses performances chutent lorsque la taille et la complexité du domaine augmenteront. </para> <para> L'utilisation de tdbsam convient mieux aux sites ne nécessitant qu'un contrôleur de domaine primaire (PDC [Primary Domain Controller]). Lorsque la taille d'un domaine augmentera, le besoin d'ajouter des contrôleurs de domaine se fera sentir. Dans un environnement en réseau Microsoft Wondows, il vaut mieux éviter de se trouver limité en ressources ; les contrôleurs de domaine fournissent des services d'authentification essentiels. Les conséquences de ne pas accorder assez de ressources à l'environnement de contrôle de domaine sont les suivantes : </para> <itemizedlist> <listitem><para> Les connexions au domaine échouent de façon intermittente. </para></listitem> <listitem><para> L'accès au fichier sur un serveur membre du domaine échoue de façon intermittente, avec un message d'erreur sur les droits d'accès. </para></listitem> </itemizedlist> <para> Une possibilité de backend d'authentification du contrôleur de domaine plus extensible existe avec Microsoft Active Directory ou un backend basé sur LDAP. Samba-3 fournit pour ces deux possibilités l'équivalent d'un serveur membre du domaine. </para> <para> Le backend d'authentification tdbsam ne fournit rien pour dupliquer le contenu de la base de données, excepté par des moyens externes (c’est-à-dire, il n'y a pas de protocole autonome dans Samba-3 pour la duplication de la base de données de Security Account Manager [SAM]). </para> <note><para> Si un seul contrôleur de domaine ne vous suffit pas, n'utilisez pas un backend d'authentification tdbsam. </para></note> <sect3> <title>Exemple: Bureau d'ingénieurs</title> <para> Le serveur de réseau du bureau d'ingénieurs que nous présentons ici, est conçu pour montrer comment utiliser le nouveau backend du mot de passe de tdbsam. Pour Samba-3, l’outil tdbsam est nouveau. Il a été conçu pour fournir de multiples contrôles de comptes utilisateur et machine réalisables avec Microsoft Windows NT4. Il peut être utilisé sans danger pour des petits réseaux. </para> <procedure> <step><para> On trouvera une configuration PDC fonctionnelle utilisant le gestionnaire de mots de passe tdbsam dans <link linkend="fast-engoffice-global">le fichier smb.conf du bureau d'ingénieurs (foncionnement global) </link> ainsi que dans <link linkend="fast-engoffice-shares">le fichier smb.conf du bureau d'ingénieurs(espace partagé et services)</link>: </para></step> <example id="fast-engoffice-global"> <title>Fichier smb.conf du bureau d'ingénieurs (fonctionnement global)</title> <smbconfblock> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">FRODO</smbconfoption> <smbconfoption name="passdb backend">tdbsam</smbconfoption> <smbconfoption name="printcap name">cups</smbconfoption> <smbconfoption name="add user script">/usr/sbin/useradd -m %u</smbconfoption> <smbconfoption name="delete user script">/usr/sbin/userdel -r %u</smbconfoption> <smbconfoption name="add group script">/usr/sbin/groupadd %g</smbconfoption> <smbconfoption name="delete group script">/usr/sbin/groupdel %g</smbconfoption> <smbconfoption name="add user to group script">/usr/sbin/groupmod -A %u %g</smbconfoption> <smbconfoption name="delete user from group script">/usr/sbin/groupmod -R %u %g</smbconfoption> <smbconfoption name="add machine script">/usr/sbin/useradd -s /bin/false -d /var/lib/nobody %u</smbconfoption> <smbconfcomment>Remarque: ce qui suit spécifie le script de connexion par défault.</smbconfcomment> <smbconfcomment>Pour chaque utilisateur, les scripts de connexions peuvent être spécifiés dans le compte de l'utilisateur en utilisant pdbedit</smbconfcomment> <smbconfoption name="logon script">scripts\logon.bat</smbconfoption> <smbconfcomment>Ceci spécifie le chemin du profil par défaut. Spécifiez les chemins pour chaque utilisateur avec pdbedit</smbconfcomment> <smbconfoption name="logon path">\\%L\Profiles\%U</smbconfoption> <smbconfoption name="logon drive">H:</smbconfoption> <smbconfoption name="logon home">\\%L\%U</smbconfoption> <smbconfoption name="domain logons">Yes</smbconfoption> <smbconfoption name="os level">35</smbconfoption> <smbconfoption name="preferred master">Yes</smbconfoption> <smbconfoption name="domain master">Yes</smbconfoption> <smbconfoption name="idmap uid">15000-20000</smbconfoption> <smbconfoption name="idmap gid">15000-20000</smbconfoption> <smbconfoption name="printing">cups</smbconfoption> </smbconfblock> </example> <example id="fast-engoffice-shares"> <title>Fichier smb.conf du bureau d'ingénieurs (espace partagé et services)</title> <smbconfblock> <smbconfsection name="[homes]"/> <smbconfoption name="comment">Home Directories</smbconfoption> <smbconfoption name="valid users">%S</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> <smbconfcomment>Impression partagée automatiquement (rend les imprimantes disponibles par l’intermédiaire de CUPS)</smbconfcomment> <smbconfsection name="[printers]"/> <smbconfoption name="comment">All Printers</smbconfoption> <smbconfoption name="path">/var/spool/samba</smbconfoption> <smbconfoption name="printer admin">root, maryo</smbconfoption> <smbconfoption name="create mask">0600</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> <smbconfoption name="printable">Yes</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> <smbconfsection name="[print$]"/> <smbconfoption name="comment">Printer Drivers Share</smbconfoption> <smbconfoption name="path">/var/lib/samba/drivers</smbconfoption> <smbconfoption name="write list">maryo, root</smbconfoption> <smbconfoption name="printer admin">maryo, root</smbconfoption> <smbconfcomment>Nécessaire pour le support des connexions au domaine</smbconfcomment> <smbconfsection name="[netlogon]"/> <smbconfoption name="comment">Network Logon Service</smbconfoption> <smbconfoption name="path">/var/lib/samba/netlogon</smbconfoption> <smbconfoption name="admin users">root, maryo</smbconfoption> <smbconfoption name="guest ok">Yes</smbconfoption> <smbconfoption name="browseable">No</smbconfoption> <smbconfcomment>Pour que les profils puissent fonctionner, créez un répertoire d'utilisateurs sous le chemin</smbconfcomment> <smbconfcomment> décrit. i.e., mkdir -p /var/lib/samba/profiles/maryo</smbconfcomment> <smbconfsection name="[Profiles]"/> <smbconfoption name="comment">Roaming Profile Share</smbconfoption> <smbconfoption name="path">/var/lib/samba/profiles</smbconfoption> <smbconfoption name="read only">No</smbconfoption> <smbconfoption name="profile acls">Yes</smbconfoption> <smbconfcomment>D'autres définitions de ressources (partage/imprimante) apparaîtraient ici.</smbconfcomment> </smbconfblock> </example> <step><para> Créez des comptes pour les groupes UNIX dont vous avez besoin en utilisant l'outil adéquat de votre système d'exploitation : <screen> <!--&rootprompt;--><userinput>groupadd ntadmins</userinput> <!--&rootprompt;--><userinput>groupadd designers</userinput> <!--&rootprompt;--><userinput>groupadd engineers</userinput> <!--&rootprompt;--><userinput>groupadd qateam</userinput> </screen> </para></step> <step><para> Créez les comptes des utilisateurs sur le système en utilisant l'outil adéquat fourni par votre système d'exploitation. Vérifiez que tous les répertoires locaux des utilisateurs ont également été créés. Ajoutez les utilisateurs aux groupes par rapport à leurs droits d'accès sur les fichiers, sur les répertoires, sur les imprimantes, et par rapport à leur utilisation de l'environnement Samba. </para></step> <step><para> Affectez chacun des goupes UNIX aux groupes NT en exécutant ce script shell (Vous pouvez nommer ce script <filename>initGroups.sh</filename>): <screen> #!/bin/bash #### Conservez ce script shell pour le réutiliser ultérieurement # Premièrement on affecte les groupes connus net groupmap add ntgroup="Domain Admins" unixgroup=ntadmins rid=512 type=d net groupmap add ntgroup="Domain Users" unixgroup=users rid=513 type= net groupmap add ntgroup="Domain Guests" unixgroup=nobody rid=514 type=d # Maintenant on affecte nos groupes de domaine ajoutés net groupmap add ntgroup="Designers" unixgroup=designers type=d net groupmap add ntgroup="Engineers" unixgroup=engineers type=d net groupmap add ntgroup="QA Team" unixgroup=qateam type=d </screen> </para></step> <step><para> Créez le répertoire des <filename>scripts</filename> pour pouvoir les utiliser dans <smbconfsection name="[NETLOGON]"/> l'espace partagé : <screen> <!--&rootprompt;--><userinput>mkdir -p /var/lib/samba/netlogon/scripts</userinput> </screen> Mettez les scripts de connexion qui seront utilisés (les scripts batch ou cmd) dans ce répertoire. </para></step> </procedure> <para> La configuration ci-dessus fournit un système PDC opérationnel auquelle doivent être ajoutés les partages de fichiers et les imprimantes dont on a besoin. </para> </sect3> <sect3> <title>Une grosse entreprise</title> <para> Dans cette section, nous allons enfin avoir l'opportunité de passer brièvement en revue une configuration de Samba-3 qui utilise un backend d'authentification LDAP [Lightweight Directory Access]. Les raisons principales de ce choix sont de fournir la possibilité d'organiser les domaines de contrôle primaire et de sauvegarde (BDC) [Backup Domain Control], ainsi que de pouvoir davantage adapter les capacités du système afin de satisfaire les besoins d'un environnement très réparti. </para> <sect4> <title>Le contrôleur de domaine primaire</title> <para> Il s'agit d'un exemple de configuration minimale pour faire fonctionner un PDC de Samba-3 en utilisant un backend d'authentification LDAP. On suppose que le système d'exploitation a été correctement configuré. </para> <para> Les scripts Idealx (ou équivalent) sont utiles pour manier POSIX et/ou SambaSamAccounts basé sur LDAP. Les scripts Idealx peuvent être téléchargés à partir du site Web <ulink url="http://www.idealx.org"> Idealx</ulink>. On peut aussi les récupérer dans les fichiers tarball de Samba. Avec les distributions Linux, les scripts Idealx sont en général installés dans le répertoire <filename>/usr/share/doc/packages/sambaXXXXXX/examples/LDAP/smbldap-tools</filename>. On sait que les scripts Idealx de la version <constant>smbldap-tools-0.9.1</constant> fonctionnent bien. </para> <procedure> <step><para> Récupérez à partir des sources Samba <filename>~/examples/LDAP/samba.schema</filename> et copiez le dans le répertoire <filename>/etc/openldap/schema/</filename>. </para></step> <step><para> Paramétrez le serveur LDAP. Cet exemple convient pour OpenLDAP 2.1.x. Voici le fichier <filename>/etc/openldap/slapd.conf</filename> : <title>Exemple du fichier slapd.conf</title> <screen> # Vous pouvez remarquer que les lignes décommentées ont été supprimées include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/samba.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args database bdb suffix "dc=quenya,dc=org" rootdn "cn=Manager,dc=quenya,dc=org" rootpw {SSHA}06qDkonA8hk6W6SSnRzWj0/pBcU3m0/P # Le mot de passe correspondant à la partie ci-dessus est 'nastyon3' directory /var/lib/ldap index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUid eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index default sub </screen> </para></step> <step><para> Créez le fichier <filename>initdb.ldif</filename> suivant : <programlisting> # Organisation pour la démo de SambaXP dn: dc=quenya,dc=org objectclass: dcObject objectclass: organization dc: quenya o: SambaXP Demo description: arbre LDAP de la démo de SambaXP # Rôle pour l'administration de LDAP dn: cn=Manager,dc=quenya,dc=org objectclass: organizationalRole cn: Manager description: Administrateur LDAP # Paramétrage du conteneur pour les utilisateurs dn: ou=People, dc=quenya, dc=org objectclass: top objectclass: organizationalUnit ou: People # Paramétrage d’un identifiant d'admin pour les personnes OU dn: cn=admin, ou=People, dc=quenya, dc=org cn: admin objectclass: top objectclass: organizationalRole objectclass: simpleSecurityObject userPassword: {SSHA}0jBHgQ1vp4EDX2rEMMfIudvRMJoGwjVb # Le mot de passe correspondant à la partie ci-dessus est 'mordonL8' </programlisting> </para></step> <step><para> Chargez les données initiales ci-dessus dans la base de données LDAP : <screen> <!--&rootprompt;--><userinput>slapadd -v -l initdb.ldif</userinput> </screen> </para></step> <step><para> Démarrez le serveur LDAP en utilisant l'outil ou la méthode adapté(e) à la plate-forme du système d'exploitation sur laquelle il est installé. </para></step> <step><para> Installez les fichiers des scripts Idealx dans le répertoire <filename>/usr/local/sbin</filename>, configurez ensuite le fichier smbldap_conf.pm afin de les rendre fonctionnels sur votre configuration système. </para></step> <step><para> Le fichier <!--&smb.conf;--> qui pilote ce backend se trouve dans l'exemple du <link linkend="fast-ldap">fichier smb.conf du backend LDAP pour le PDC</link>. Ajoutez les strophes supplémentaires en fonction de vos besoins. </para></step> <example id="fast-ldap"> <title>fichier smb.conf du backend LDAP pour le PDC</title> <smbconfblock> <smbconfcomment>paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">FRODO</smbconfoption> <smbconfoption name="passdb backend">ldapsam:ldap://localhost</smbconfoption> <smbconfoption name="username map">/etc/samba/smbusers</smbconfoption> <smbconfoption name="printcap name">cups</smbconfoption> <smbconfoption name="add user script">/usr/local/sbin/smbldap-useradd -m '%u'</smbconfoption> <smbconfoption name="delete user script">/usr/local/sbin/smbldap-userdel %u</smbconfoption> <smbconfoption name="add group script">/usr/local/sbin/smbldap-groupadd -p '%g'</smbconfoption> <smbconfoption name="delete group script">/usr/local/sbin/smbldap-groupdel '%g'</smbconfoption> <smbconfoption name="add user to group script">/usr/local/sbin/smbldap-groupmod -m '%u' '%g'</smbconfoption> <smbconfoption name="delete user from group script">/usr/local/sbin/smbldap-groupmod -x '%u' '%g'</smbconfoption> <smbconfoption name="set primary group script">/usr/local/sbin/smbldap-usermod -g '%g' '%u'</smbconfoption> <smbconfoption name="add machine script">/usr/local/sbin/smbldap-useradd -w '%u'</smbconfoption> <smbconfoption name="logon script">scripts\logon.bat</smbconfoption> <smbconfoption name="logon path">\\%L\Profiles\%U</smbconfoption> <smbconfoption name="logon drive">H:</smbconfoption> <smbconfoption name="logon home">\\%L\%U</smbconfoption> <smbconfoption name="domain logons">Yes</smbconfoption> <smbconfoption name="os level">35</smbconfoption> <smbconfoption name="preferred master">Yes</smbconfoption> <smbconfoption name="domain master">Yes</smbconfoption> <smbconfoption name="ldap suffix">dc=quenya,dc=org</smbconfoption> <smbconfoption name="ldap machine suffix">ou=People</smbconfoption> <smbconfoption name="ldap user suffix">ou=People</smbconfoption> <smbconfoption name="ldap group suffix">ou=People</smbconfoption> <smbconfoption name="ldap idmap suffix">ou=People</smbconfoption> <smbconfoption name="ldap admin dn">cn=Manager</smbconfoption> <smbconfoption name="ldap ssl">no</smbconfoption> <smbconfoption name="ldap passwd sync">Yes</smbconfoption> <smbconfoption name="idmap uid">15000-20000</smbconfoption> <smbconfoption name="idmap gid">15000-20000</smbconfoption> <smbconfoption name="printing">cups</smbconfoption> </smbconfblock> </example> <step><para> Ajoutez le mot de passe LDAP dans le fichier <filename>secrets.tdb</filename> de façon à ce que Samba puisse mettre à jour la base de données LDAP : <screen> <!--&rootprompt;--><userinput>smbpasswd -w mordonL8</userinput> </screen> </para></step> <step><para> Ajoutez les utilisateurs et les groupes qu’il faut. Les utilisateurs et les groupes ajoutés utilisant les outils Samba seront automatiquement ajoutés à la fois au backend LDAP et au système d'exploitation. </para></step> </procedure> </sect4> <sect4> <title>Le contrôleur de domaine de sauvegarde</title> <para> <link linkend="fast-bdc"/> montre l’exemple de configuration pour le BDC. Notez que le fichier <!--&smb.conf;--> ne spécifie pas les scripts de smbldap-tools, ils ne sont pas nécessaires sur un BDC. Ajoutez les strophes pour les fichiers partagés et les imprimantes. </para> <procedure> <step><para> Le BDC peut avoir son propre serveur LDAP. Si c’est ce que vous préférez, modifiez le fichier <!--&smb.conf;--> suivant comme indiqué. Sinon, la configuration par défaut dans le <link linkend="fast-bdc">fichier smb.conf du BDC LDAP à distance</link> utilise un serveur central LDAP. </para></step> <example id="fast-bdc"> <title>fichier smb.conf du BDC LDAP à distance</title> <smbconfblock> <smbconfcomment>paramètres globaux</smbconfcomment> <smbconfsection name="[global]"/> <smbconfoption name="workgroup">MIDEARTH</smbconfoption> <smbconfoption name="netbios name">GANDALF</smbconfoption> <smbconfoption name="passdb backend">ldapsam:ldap://frodo.quenya.org</smbconfoption> <smbconfoption name="username map">/etc/samba/smbusers</smbconfoption> <smbconfoption name="printcap name">cups</smbconfoption> <smbconfoption name="logon script">scripts\logon.bat</smbconfoption> <smbconfoption name="logon path">\\%L\Profiles\%U</smbconfoption> <smbconfoption name="logon drive">H:</smbconfoption> <smbconfoption name="logon home">\\%L\%U</smbconfoption> <smbconfoption name="domain logons">Yes</smbconfoption> <smbconfoption name="os level">33</smbconfoption> <smbconfoption name="preferred master">Yes</smbconfoption> <smbconfoption name="domain master">No</smbconfoption> <smbconfoption name="ldap suffix">dc=quenya,dc=org</smbconfoption> <smbconfoption name="ldap machine suffix">ou=People</smbconfoption> <smbconfoption name="ldap user suffix">ou=People</smbconfoption> <smbconfoption name="ldap group suffix">ou=People</smbconfoption> <smbconfoption name="ldap idmap suffix">ou=People</smbconfoption> <smbconfoption name="ldap admin dn">cn=Manager</smbconfoption> <smbconfoption name="ldap ssl">no</smbconfoption> <smbconfoption name="ldap passwd sync">Yes</smbconfoption> <smbconfoption name="idmap uid">15000-20000</smbconfoption> <smbconfoption name="idmap gid">15000-20000</smbconfoption> <smbconfoption name="printing">cups</smbconfoption> </smbconfblock> </example> <step><para> Configurez les répertoires NETLOGON et PROFILES de la même manière que le PDC dans <link linkend="fast-bdc"/>. </para></step> </procedure> </sect4> </sect3> </sect2> </sect1> </chapter>