MacOSX_Samba_1
Transcription
MacOSX_Samba_1
TITRE 1 Project :Omega – Tutoriel Au Coeur de Samba : Partage de Ressources Windows sur Mac Auteur : Jason Deraleau - [email protected] Traduction : Olivier - [email protected] © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X SOMMAIRE AU COEUR DE SAMBA : PARTAGE DE RESSOURCES AVEC WINDOWS SUR MAC .......................................................................................................................... 3 ETABLIR UN PARTAGE MINIMUM AVEC WINDOWS .......................................................3 CONFIGURER LE GROUPE DE TRAVAIL ......................................................................4 CONFIGURER LE NOM DU SERVEUR (HOSTNAME).......................................................5 CONFIGURER LES ACCÈS UTILISATEURS INDIVIDIDUELLEMENT .....................................6 SAUVEGARDE DE VOTRE CONFIGURATION SAMBA ......................................................7 AJOUTER UN ELÉMENT EN PARTAGE .........................................................................7 LE PARTAGE DES RÉPERTOIRES LOCAUX [HOMES] .....................................................8 LES DIRECTIVES COURANTES DE SAMBA...................................................................9 SÉCURISER SAMBA .................................................................................................9 NE PAS AFFICHER CERTAINS FICHIERS ...................................................................10 LIMITER L'ACCÈS AUX RÉPERTOIRES.......................................................................10 ACCÈS AUX FICHIERS ET RÉPERTOIRES ..................................................................11 PARTAGE D'UNE IMPRIMANTE .................................................................................11 LA SECTION [PRINTERS] ........................................................................................12 CONFIGURATION DE WINDOWS POUR L'IMPRESSION .................................................13 L'OUTIL D'ADMINISTRATION WEB DE SAMBA ............................................................14 ACTIVER SWAT ...................................................................................................14 UTILISATION DE SWAT .........................................................................................15 EN CONCLUSION...................................................................................................16 Olivier 2 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X AU COEUR DE SAMBA : PARTAGE DE RESSOURCES AVEC WINDOWS SUR MAC Par Jason Deraleau le 18/03/2003 Traduit par Olivier, le 19/03/2003 Dès la version 10.1, Apple à commencé à supporter le protocol SMB dans Mac OS X. SMB est le protocole utilisé par les machines Windows pour permettre le partage de fichier et d'imprimantes dans un réseau local. Mac OS X 10.1 avait des capacités client limitées, mais 10.2 à apporter une version améliorée du client et du serveur à l'OS. Les fonctionnalités serveur sont dûes au démon connu sous le nom de Samba. Samba est l'un des projets open source (logiciel libre) ayant le plus de succès et a été porté sur Linux, différentes version de BSDs et Darwin/Mac OS X. Initié par Andrew Tridgell, l'équipe Samba travaille à offrir le plus de fonnctionnalités possibles des produits Windows serveur. A l'heure actuelle, Samba permet le partage de disque, d'imprimantes, peut remplir le rôle d'un serveur WINS, et d'un contrôleur de domaine primaire NT4. Etablir un Partage Minimum avec Windows Permettre le partage de fichiers avec Windows depuis Mac OS X 10.2 est assez facile. Par défaut, votre ordinateur fera partie d'un groupe de travail SMB "WORKGROUP" et aura un nom de serveur SMB qui correspondra au nom de votre ordinateur. Si vous voulez faire apparaitre la machine dans le Voisinage Réseau de Windows, il vous faudra faire quelques manipulations. Consultez votre documentation Windows pour définir quel groupe de travail votre machine utilise. Olivier 3 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Configurer le Groupe de Travail Configurer le Groupe de Travail Pour modifier le groupe de travail utilisé par votre Mac, ouvrez l'utilitaire Directory Access. Cet utilitaire est situé dans /Applications/Utilitiaires. Une fois lancé, authentifiez-vous en cliquant sur le cadenas dans le coin inférieur gauche. Une boite de dialogue apparait vous demandant votre mot de passe. Une fois authentifié, sélectionnez SMB depuis la liste Services et cliquez sur le bouton "Configurer...". Une boite de dialogue apparaitra, vous permettant de spécifier le groupe de travail. Une fois établi de façon à correspondre à votre machine Windows, cliquez sur le bouton "OK". C'est tout ce que nous devons configurer dans Directory Access, alors vous pouvez fermer l'application. Olivier 4 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Configurer le Nom du Serveur (Hostname) Configurer le Hostname Pour changer le hostname SMB, ouvrez le panneau de Partage en cliquant sur l'icône Partage des Préférences Système depuis le menu Apple. Ici vous pouvez spécifier le nom de l'ordinateur et le nom Rendezvous. Le nom devra être unique sur le réseau. Je vous recommande également d'utiliser un seul mot pour le nom du hostname (pas d'espaces !) et d'utiliser le même nom pour le nom de l'ordinateur et de Rendezvous. Pendant que vous êtes dans le panneau de Partage, vous devriez voir la liste des Services disponibles. Démarrez Partage de Fichiers avec Windows (Windows File Sharing) en cochant sa case. Samba démarrera en utilisant le groupe de travail et le nom du hostname que vous venez de spécifier. Olivier 5 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Configurer les Accès Utilisateurs Individiduellement Configurer l'Accès Utilisateur Maintenant que Samba est lancé, vous pouvez autoriser à un utilisateur l'accès à votre Mac depuis Windows et ce de façon individuelle. Pour ce faire, allez au panneau Comptes Utilisateurs dans Préférences Système. Là, sélectionnez l'utilisateur auquel vous souhaitez donner accès et cliquez sur le bouton "Editer Utilisateur...". Si nécessaire, tapez le mot de passe de l'utilisateur pour éditer ces détails. Dans le bas du panneau, vous apercevez une case indiquant "Autoriser l'utilisateur à se connecter depuis Windows". Puisque les répertoires locaux des utilisateurs sont partagés par défaut, en cochant cette case, vous permettrez à l'utilisateur d'accéder à son répertoire local depuis la machine Windows. Pour cela, l'adresse est \\HOSTNAME\USERNAME, que vous tapez dans Windows Exploreur. L'utilisateur devrait également voir son répertoire local depuis Voisinage Réseau. Partager Encore Plus L'installation de Samba pour Mac OS X n'est configuré par défaut que pour le partage des répertoires locaux. Ceci en utilisant l'option de partage [homes] du fichier de configuration smb.conf. C'est suffisant si vous ne souhaitez que partager les fichiers qui se trouvent dans votre répertoire local, mais si vous avez des MP3 ou des documents AppleWorks dans un autre dossier ? Peut-être souhaitez-vous donner accès aux autres utilisateurs Windows à votre dossier /Users/Shared. Olivier 6 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Les informations de configuration de Samba sont stockées dans le fichier appelé smb.conf dans le répertoire /etc. Ce fichier contient une section [global] qui contient des directives générales utilisées par Samba. Vous pouvez également y voir la section [homes] qui contient des directives pour effectuer le partage des répertoires locaux de vos utilisateurs. Pour vous montrer comment ajouter d'autres disques en partage, je vous montrerai comment partager votre dossier /Users/Shared avec les utilisateurs Windows. La première chose à faire est de créer une sauvegarde de votre fichier smb.conf d'origine. Pour cela nous allons utiliser l'interface de la ligne de commande de Mac OS X et utiliser quelques commandes Unix simples. Sauvegarde de votre Configuration Samba Ouvrez l'application Terminal située dans /Application/Utilities. Dans la fenêtre, tapez cd /etc pour vous rendre dans le répertoire /etc. Si vous tapez la commande ls, vous verrez tous les fichiers et dossiers du répertoire /etc. Un de ces fichiers est smb.conf. Pour le sauvegarder, tapez la commande sudo cp smb.conf smb.conf.back. Comme ces fichiers appartiennent à root, vous devez avoir les droits du root pour effectuer le backup. La commande sudo vous donne temporairement ces droits. Il vous sera demandé d'entrer votre mot de passe. Tapez-le et la sauvegarde du fichier sera effectuée. Pour vérifier, tapez de nouveau la commande ls et recherchez le fichier nommé smb.conf.back. Si vous le voyez, la sauvegarde a été correctement effectuée. Ajouter un Elément en Partage Maintenant que votre fichier smb.conf est sauvegardé, nous allons ouvrir le fichier smb.conf original pour l'éditer avec l'éditeur pico. Puisque nous avons besoin des droits du root pour sauvegarder les modifications, nous utiliserons de nouveau la commande sudo pour obtenir l'accréditation : sudo pico /etc/smb.conf. Si votre mot de passe est demandé, tapez-le. Vous devriez maintenant voir le contenu de votre fichier smb.conf, au complet avec les sections [global] et [homes] décrites plus haut, ainsi que les sections [public] et [printers]. L'éditeur pico est très simple. Pour vous balader dans le fichier, utilisez les touches de direction du clavier. Effectuer des modifications est semblable à l'application TextEdit. La première étape pour ajouter un des éléments en partage est de lui donner un titre de section. Le titre de la section est le même que ce qui est à partager. Dans notre cas, nous allons l'appeler simplement "shared" (partagé). Créez une peu d'espace après la section [homes] en déplaçant le curseur en dessous et en appuyant deux, trois fois sur la touche Entrée. Maintenant, tapez exactement ceci : [shared] comment = Shared Directory path = /Users/Shared read only = no browseable = yes create mode = 755 La ligne [shared] indique à Samba qu'un nouveau disque à partager à été défini. Il s'appelle "shared". La ligne de commentaire (comment) affichera le texte "Shared Directory" dans Windows Exploreur. La ligne suivante déclare le chemin d'accès au répertoire mis en partage. Dans ce cas, c'est le dossier /Users/Shared. Comme nous voulons pouvoir effectuer des sauvegardes des fichiers de cette zone de partage, nous lui passons une valeur de read only à no (mode lecture-seule positionné à non). L'attribut browseable (navigation, liste) détermine l'affichage ou non de cette zone de partage dans Windows Exploreur. Si vous l'initialisez à no, la zone de partage reste accessible, mais l'utilisateur doit spécifier le chemin d'accès complet à cette zone de partage (dans ce cas, \\HOSTNAME\SHARED). La dernière ligne, create mode, définit les permissions que les fichiers créés Olivier 7 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X dans la zone de partage auront. Elles sont présentées au format numérique des permissions Unix. Dans ce cas, les permissions sont lecture/écriture/exécution pour le propriétaire du fichier et lecture/exécution pour le groupe et les autres utilisateurs. Une fois que vous avez tapé ces modifications, appuyez sur Ctrl+O puis Entrée pour sauvegarder le fichier, puis appuyez sur Ctrl+X pour quitter pico. Pour vérifier que les modifications ont été enregistrées, utilisez la commande cat /etc/smb.conf et lisez le contenu pour vérifier que tout est là. Pour que Samba prennent en compte les modifications, utilisez la commande sudo killall -HUP smbd. Ceci indiquera au démon Samba de recharger les informations de configuration. Une chose importante à se rappeler est qu'un utilisateur doit avoir un compte utilisateur valide sur votre machine pour accéder aux éléments partagés. Il doit également avoir l'option "Autoriser l'utilisateur à se connecter depuis Windows" cochée pour son compte. Sur une machine Windows, vous devriez maintenant voir la section "shared" en partage ainsi qu'un élément en partage à votre nom d'utilisateur dans Voisinage Réseau. Cet élément au nom d'utilisateur correspond au répertoire local. Il est mis en partage par la section [homes]. Le Partage des Répertoires Locaux [homes] Répertoires Locaux des Utilisateurs La ressource partagée [homes] est une directive spéciale. Elle ne correspond pas tellement à un dossier particulier de votre disque, comme la ressource [shared], mais il s'agit plus d'un mécanisme interne pour indiquer à Samba que vous souhaitez partager les répertoires locaux des utilisateurs. Ci-dessous se trouve la déclaration par défaut de [homes] : [homes] comment = User Home Directories browseable = no read only = no Olivier 8 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X create mode = 0750 Vous remarquerez que la déclaration commence un peu comme celle de [shared], avec le nom de partage entre crochets. Vous vous demandez alors pourquoi il n'existe pas de ressource nommée "homes" dans le Voisinage Réseau. Notez que la propriété browseable est positionnée à no. C'est ce qui empêche la ressource partagée "homes" d'apparaitre dans le Voisinage Réseau. Les autres propriétés pour cette ressource partagée sont similaires à notre [shared], bien que le mode de création par défaut soit différent. Dans ce cas, tout fichier sera en lecture/écriture/exécutable par le propriétaire et en lecture/exécutable par le groupe, mais d'autres personnes ne pourront pas avoir accès au fichier. Ce sont des permissions plus conservatrices pour le répertoire locale de l'utilisateur, alors que le partage de [shared] se voulait un peu moins sécurisé en raison de son mode d'accès public. Les Directives Courantes de Samba Jusqu'à présent, nous avons vu comment effectuer la configuration SMB de votre machine, permettant le partage avec Windows, et la création de ressources disques à partager supplémentaires. Pour configurer Samba, il existe de nombreuses directives différentes. Certaines affectent Samba dans sa globalité, d'autres sont spécifiques au partage de fichiers ou d'imprimantes. Ci-dessous je décrirai les directives les plus couramment utilisées et leurs actions. Sécuriser Samba SMB n'est pas le protocole le plus sécurisé. Il a été conçu pour fonctionner en réseau local et se borne à sécuriser par l'authentifiant de l'utilisateur. Ceci peut être grave si vous êtes connecté à internet. Un personne mal intentionnée peut examiner vos ressources partagées disponibles sur votre machine et peut tenter d'y accéder. Pour sécuriser un peu plus les choses, il est possible de n'autoriser que certaines machines à se connecter à Samba. Pour cela, ajoutez la directive "hosts allow" dans la section [global] : [global] hosts allow = localhost 192.168.1. . . . Cette exemple n'autorisera la connection qu'aux machines connectées au réseau 192.168.1 ou à la machine elle-même. Vous pouvez améliorer encore un peu plus les choses en liant les démons Samba à votre interface de réseau local en utilisant les directives "interfaces" et "bind interfaces only" : [global] interfaces = 192.168.1.29/255.255.255.0 bind interfaces only = yes . . . La méthode de l'interface peut être difficile à maintenir si vous utiliser un serveur DHCP, puisque votre adresse IP pourrait être modifiée, nécessitant des modifications au fichier de configuration. La méthode hosts allow/host deny est beaucoup plus simple. De nombreux fournisseur d'accès internet filtrent les ports SMB par mesure de sécurité. Si vous essayez d'utiliser SMB par internet et que cela ne marche pas, ceci pourrait en être la raison. Olivier 9 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Ne Pas Afficher Certains Fichiers En accédant aux ressources partagées de votre Mac depuis une machine Windows, vous pouvez voir de nombreux fichiers commençant par un point. Un fichier commençant par un point est une convention Unix pour rendre invisible un dossier ou un fichier dans la plupart des cas de d'affichage de contenu de répertoires. Un bon exemple est le fichier .DS_Store. Le fichier .DS_Store est utilisé pour sauvegarder les préférences d'affichage du Finder par Mac OS X. Pour éviter que ces fichiers n'apparaissent, vous pouvez utiliser la directive "hide dot files" dans votre fichier smb.conf : [global] hide dot files = yes . . . Ceci rendra invisible tout fichiers ou dossiers commençant par un point. Vous pouvez également utiliser la directive "hide files" avec un masque pour cacher certains fichiers. Par exemple, pour cacher tous les fichiers ayant une extension .log : [homes] hide files = /*.log/ . . . Quelque chose d'important à noter ici est que ces fichiers sont juste rendus invisibles, il sont toujours accessibles depuis une machine Windows. On a donné à ces fichiers l'équivalent de l'attribut caché du système de fichiers de la FAT. Ceci signifie que quiconque ayant "Show hidden files" / "Afficher les fichiers cachés" ou "Show hidden and system files" / "Afficher les fichiers cachés et systèmes" validé dans Windows Explorer pourra voir ces fichiers. Si vous voulez les rendre complètement invisibles, vous pouvez utiliser la directive "veto files" : [homes] veto files = /*passwd*/ . . . Cette entrée interdira l'affichage de tous les fichiers contenant "passwd" dans leur nom. L'utilisateur Windows ne pourra même pas voir qu'il existe, contrairement à la directive "hide files" qui autorise quand même l'accès à l'utilisateur expérimenté. Limiter l'Accès aux Répertoires Samba vous permet également de limiter l'accès aux répertoires appartenant à une ressource partagée. Par exemple, disons que je veuille restreindre l'accès du dossier mp3 de ma ressource partagée [shared]. J'ai d'autres dossiers dans cette ressource partagée que les utilisateurs Windows doivent accéder, mais je veux limiter l'accès du dossier mp3 aux utilisateurs directement connectés à la machine. Je peux utiliser la directive "dont descend", pour empêcher ce dossier d'être accédé par les utilisateurs Windows : [shared] dont descend = mp3 . . . Le dossier est toujours visible, mais les utilisateurs Windows tentant d'y accéder s'en verront refuser l'accès. Les autres dossiers de la ressource partagée ne seront pas affectés. Olivier 10 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Accès aux Fichiers et Répertoires Plus haut, j'ai fait mention de la directive "create mode". Cette directive est utilisée pour déterminer les permissions qui devraient être utilisées lors de la création d'un fichier. Sa directive associée, "directory mask", fait la même chose pour les répertoires. Une chose que je souhaite clarifier est comment les masques sont créés. Les masques sont divisés en quatre positions. Chaque position est représentée par un chiffre. La première position peut être ignorée et l'est souvent. Les trois positions suivantes représentent respectivement le propriétaire, le groupe et les autres. Le propriétaire est l'utilisateur qui a créé le fichier. Le groupe correspond aux utilisateurs du groupe principal d'appartenance de l'utilisateur. Les autres sont tous les autres utilisateurs. Pour déterminer quels chiffres utiliser, définissez quel accès vous souhaitez dans chaque situation. Les trois types d'accès sont pour la lecture, l'écriture et l'exécution. Dans la plupart des cas, lecture/écriture sont suffisants pour le propriétaire. Pour la permission du groupe et des autres, pensez qui d'autre pourrait avoir besoin d'accéder au fichier et ce qu'il en ferait. Une fois que vous savez quel type d'accès est nécessaire, suivez cette procédure : Commencez par 0, ajoutez 4 pour l'autorisation de lecture, 2 pour l'autorisation d'écriture, et 1 pour l'autorisation d'exécution. Ainsi, si vous souhaitez que le propriétaire ait des droits en lecture et écriture, que son groupe ait un accès en lecture et que les autres n'aient pas d'accès, vous utilisez 640. Si vous voulez donner aux propriétaire et au groupe des accès en lecture et écriture, mais seulement un accès en lecture pour les autres, utilisez 664. Pour les répertoires, la procédure est la même, mais les répertoires nécessitent toujours l'accès en exécution pour pouvoir être ouverts. Ainsi, si vous voulez créer un répertoire où seul le propriétaire puisse lire et écrire, vous utilisez 0700. Si vous voulez donner l'accès en exécution, l'utilisateur aura également besoin de l'accès en lecture (vous ne pouvez pas exécuter ce que vous ne pouvez pas lire). Les masques de fichiers et de répertoires ne peuvent être spécifiés qu'au niveau de la ressource partagée, il n'est pas possible d'avoir un dossier à l'intérieur de la ressource partagée avec un masque différent. Aussi, il n'est pas possible de changer les droits depuis Windows, mais vous pouvez les modifier en utilisant l'Inspecteur dans le Finder ou chmod par le Terminal. Partage d'une Imprimante Samba supporte également le partage d'une imprimante compatible Unix avec les machines Windows. Heureusement, Mac OS X utilise maintenant pour l'impression le Common Unix Printing System (CUPS - Système Commun d'Impression Unix), donc lpr, lpq et les autres commandes d'impression Unix fonctionneront avec l'imprimante que vous avez ajoutée par le Centre d'Impression. Vous pouvez aussi accéder à CUPS à partir du panneau de contrôle en tapant l'URL http://localhost:631 dans votre navigateur internet. Partager votre imprimante est assez simple. La partie la plus ardue est la configuration des machines Windows avec le pilote correspondant. J'ai remarqué que le pilote d'impression Generic/Text fonctionne, mais j'ai eu des problèmes en voulant imprimer du PostScript avec le pilote d'impression de l'Apple Color LaserWriter. Ces problèmes sont supprimés avec un petit script shell et quelques modules du paquetage ESP Ghostscript. Je vais en discuter ci-dessous, mais votre expérience peut varier. Olivier 11 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X La Section [printers] La section [printers] est assez semblable à la section [homes]. Ces deux ressources partagées sont spéciales dans le sens où elles demandent à Samba de créer une ressource partagée basée sur un autre propriété. Dans le cas de [homes], cette propriété est le nom utilisateur. Pour les [printers], cette proriété est une imprimante. Samba obtient la liste des imprimantes depuis le fichier /etc/printcap. Ce fichier contient une liste de toutes les imprimantes que la machine connait sur le moment. Sur Mac OS X, ceci correspond généralement à toute imprimante locale ainsi que celles découvertes par Rendezvous. Bien qu'il soit possible de partager une imprimante qui n'est pas directement connectée à votre Mac, pour obtenir de meilleurs résultats, vous devriez vous limiter à celles connectées directement sur votre machine. La directive Samba qui vous permet de différencier entre un disque partagé et une imprimante est "printable". Si la propriété printable est initialisée à true (ou yes), Samba traitera la ressource comme une imprimante. Avec une ressource imprimante, la directive "path" est utilisée pour déterminer où le fichier d'impression temporaire doit être stocké. Par défaut il se trouve en /tmp et cela devrait fonctionner correctement avec Mac OS X. Samba gère les impressions en recevant le document depuis la machine distante et enregistre le fichier dans le dossier spécifié par la directive path. Samba utilise ensuite la commande spécifiée dans "print command" pour ajouter le fichier à la file d'impression. L'exemple ci-dessous utilise le répertoire /tmp pour tous les fichiers d'impression et crée une ressource partagée pour chaque entrée de /etc/printcap : [printers] comment = All Printers path = /tmp browseable = no printable = yes guest ok = yes Comme vous pouvez le voir, cette ressource partagée ressemble beaucoup à celle d'un disque. La directive "printable" indique comment la ressource doit être traitée. Remarquez que la propriété "browseable" est initialisée à no, un peu comme est initialisée la ressource [homes] pour interdire une ressource fantôme d'apparaitre. Pour spécifier la commande utilisée pour manipuler les jobs d'impression, vous utilisez la directive "print command". La directive "print command" est utilisée pour déclarer quel programme envoie le job d'impression au système d'impression. Sur Mac OS X, cette commande est lpr, qui se trouve dans le répertoire /usr/bin. Pour utiliser lpr, vous devez spécifier sur la ligne de commande quelle imprimante sera utilisée pour gérer le job et quel fichier doit être imprimé. Pour passez la bonne imprimante et le bon nom de fichier à lpr, Samba propose deux variables : %p et %s. Celles-ci représentent respectivement l'imprimante et le fichier. Dans Samba, votre directive "print" pourrait ressembler à quelque chose comme /usr/bin/lpr -P%p -r %s. Samba substitutera aux variables l'imprimante et le nom de fichier et exécutera la commande. lpr prend en charge le job d'impression et le passe au système d'impression. Voici un exemple d'une directive de commande d'impression : [global] . . . print command = /usr/bin/lpr -P%p -r %s Olivier 12 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Configuration de Windows pour l'Impression L'imprimante Partagée Maintenant que vous avez configuré Samba pour partager votre imprimante, elle devrait apparaitre dans Windows Exploreur avec toutes vos autres ressources partagées. Pour installer l'imprimante sur la machine Windows, double-cliquez sur Exploreur. Une boite de dialogue indiquant que le serveur n'a pas de pilote pour cette imprimante apparait. Après avoir fermé le message d'erreur, une liste de pilotes disponibles sur le système sera affichée. Si vous souhaitez juste imprimer du texte simple, sélectionnez le pilote Generic/Text Only (Texte Uniquement) depuis la liste du constructeur Generic / Générique. Ce pilote est excellent pour aider à résoudre les problèmes, puisque toutes les imprimantes peuvent s'accommoder de fichier texte facilement. Si vous voulez une impression Postscript, sélectionnez un des pilotes de Apple Color LaserWriter depuis la liste du constructeur Apple. Ces pilotes ont l'implémentation Postscript la plus neutre. Une fois que vous avez sélectionné le pilote désiré, cliquez sur OK. La machine Windows devrait maintenant pouvoir imprimer sur l'imprimante en partage connectée à votre Macintosh. Il est bon de noter que Windows enverra des fichiers au format Postscript qui, pour quelque raison que ce soit, ne pourront pas être imprimés par votre imprimante. Je pense que c'est dû à la manière différente dont les systèmes d'exploitation gérent l'impression. J'ai résolu le problème en installant le paquetage GIMP Print et en écrivant un petit script shell. J'ai ensuite configuré Samba pour qu'il utilise mon script shell comme commande d'impression. Voici le script : #!/bin/sh # # /usr/local/bin/printsmb # # Print script for Postscript files. # /usr/local/bin/ps2pdf13 /tmp/$2 Olivier 13 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X rm /tmp/$2 /usr/bin/lpr -P$1 -r /tmp/$2.pdf Ce script utilise l'outil ps2pdf du paquetage de GIMP Print, qui convertit un fichier Postscript d'une machine Windows en un fichier PDF. Le script supprime ensuite le fichier Postscript temporairement créé et envoie le fichier PDF vers l'imprimante en utilisant lpr. J'ai placé le script dans /usr/local/bin et lui ai donné les permissions 0755 avec chmod. Pour utiliser ce script dans Samba, effectuez les modifications suivantes dans votre section [printers] : [printers] . . . print command = /usr/local/bin/printsmb %p %s Maintenant, Samba est configuré pour appeler ce script et prêt à passer l'imprimante désirée et le chemin du fichier temporaire en paramètres. Le script convertit le fichier et l'imprime. L'impression Postscript devrait vous donner les mêmes possibilités que l'impression directe à partir de votre Mac. Avec Samba permettant le partage de votre imprimante, vous pouvez facilement permettre aux clients Windows d'imprimer via votre système. Vous pouvez même gérer les jobs d'impression par le Centre d'Impression ou le centre de contrôle CUPS. Samba vous permet de configurer un pilote d'imprimante partagée afin que vos machines Windows téléchargent automatiquement et installent le logiciel approprié à l'impression sur l'imprimante partagée, contournant la boite de dialogue de sélection du pilote. Une telle configuration est un peu au-delà du but de cet article, mais je vous recommande de lire Using Samba, publié par O'Reilly and Associates. L'Outil d'Administration Web de Samba Maintenant que vous êtes à l'aise avec les options de configurations classiques utilisées pour créer des disques et imprimantes partagées, je vais vous présenter une façon plus rapide et plus simple de travailler avec le fichier de configuration de Samba. La distribution de Samba inclut un outil web qui vous permet de manipuler la configuration de Samba. Mac OS X inclut cet outils, mais il a d'abord besoin d'être activé. Activer SWAT Pour activer l'Outil Web d'Administration de Samba (Samba Web Administration Tool - SWAT), vous devez configurer un des super démons internet qui est intégré avec Mac OS X. Mac OS X intègre inetd et xinetd. Cependant, Mac OS X semble n'utiliser que xinetd. C'est le super démon qui répond aux besoins de partage FTP. Configurer xinetd pour lancer swat nécessite juste quelques étapes. Vous devez d'abord vérifier que votre fichier /etc/services contient une entrée pour le port de swat. Pour cela, entrez la commande suivante dans le Terminal : cat /etc/services | grep swat. Cette commande devrait retourner un résultat qui listera le service swat lié au port 901/tcp. Si vous n'obtenez pas ce résultat, ajoutez cette entrée dans votre fichier /etc/services en l'éditant avec pico lancé avec sudo. Ajoutez une entrée qui liste l'information ci-dessus et sauvegardez. Olivier 14 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Maintenant que votre machine connait les informations TCP du démon, créez un fichier dans /etc/xinetd.d avec le nom swat, et tapez-y ce qui suit : service swat { disable only_from socket_type wait user server server_args groups flags } = = = = = = = = = no 127.0.0.1 stream no root /usr/sbin/swat -s /etc/smb.conf yes REUSE Vous aurez besoin d'utiliser la commande sudo pour créer ce fichier dans ce répertoire. Pour plus d'information sur la configuration de xinetd, regardez la page man de xinetd.conf. Le seul paramètre que vous ayez à changer est l'entrée "only_from". L'exemple donné n'autorise l'accès que depuis l'ordinateur lui-même. Vous pouvez taper une adresse IP ou une adresse réseau ici pour ouvrir un peu plus l'accès. Une fois que vous avez sauvegardé vos modifications, rebootez votre machine (ou envoyez un signal HUP au démon xinetd si vous connaissez un peu Unix). Utilisation de SWAT Figure 6. L'Interface SWAT Une fois que vous avez xinetd configuré pour partager swat, ouvrez votre navigateur web et tapez l'adresse http://127.0.0.1:901/. Si on vous demande un nom d'utilisateur et un mot de passe, entrez ceux de l'utilisateur root (rappelez-vous que le compte root est désactivé par défaut dans Mac OS X. Pour l'activer, tapez la commande sudo passwd root dans le Terminal.). Vous verrez la page principale de SWAT comme montrée dans la Figure 6. Remarquez vers le haut qu'il existe plusieurs sections de l'outil utilisables. La section Home contient la documentation relative à Samba. Dans la section Globals, vous trouverez les directives pour la section [global] du fichier smb.conf. SWAT édite le fichier pour vous, vous permettant de facilement remplir les champs désirés et effectuer les modifications. Olivier 15 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X La plupart des sections se décrivent d'elles-même. Au sommet vous trouverez un bouton pour valider les modifications (Commit Changes) et certaines auront un bouton Advanced (Avancé) qui vous montrera des directives Samba pour experts. la section Status a des boutons qui vous permettent de démarrez, redémarrez et stoppez les démons smbd et nmbd. Rappelez-vous que vous devrez redémarrer les démons après toutes modifications au fichier smb.conf, par SWAT ou par modification directe. Sous les boutons de contrôle des démons, vous verrez une liste des connections réseaux actives et des boutons pour fermer chacune d'elles. Les deux dernières sections de SWAT sont moins utilisées avec Mac OS X. La première est la section View (Vue). Cette section affiche le fichier smb.conf pour que vous puissiez voire comment SWAT manipule le fichier et si les modifications sont bien effectuées. La dernière est la section Password (Mot de Passe), qui vous permet de créer des noms d'utilisateurs et mots de passe encryptés comme l'exigent les versions récentes de Windows. Vous ne devriez pas avoir besoin de cet outil. Quand vous autorisez l'accès à un utilisateur Windows dans les Préférences Système, l'information est correctement générée pour vous. SWAT est très utile pour contrôler les démons Samba et travailler avec leur configuration. En effectuant des modifications sur le fichier de configuration de xinetd, vous pouvez accéder à SWAT à distance par n'importe quel navigateur internet. Les différentes sections de SWAT font qu'il est plus simple de maintenir votre fichier smb.conf en état, et en savoir un peu plus sur sa syntaxe. Une fois plus à l'aise avec les sections de smb.conf, vous préférerez peut-être éditer la configuration à la main, mais pour les autres, SWAT est un moyen pratique. En Conclusion Maintenant que vous êtes plus familier avec la configuration de Samba, vous devriez être capable de créer des ressources partagées plus élaborées que ce que l'interface graphique d'Apple vous permet. L'utilisation de l'interface SWAT vous permettra d'éviter les erreurs de configuration et vous permettra de redémarrer Samba pour observer les modifications. Dans l'ensemble, Apple a été bien avisé d'intégrer la meilleure implémentation Unix de partage avec Windows et fournir tous les outils nécessaires pour pouvoir l'utiliser dans différentes configurations. Samba apporte une aide incalculable à l'intégration du Mac dans un réseau Windows. Vos collègues travaillant sur Windows n'y verront que du feu. Olivier 16 sur 17 © Avril 2003 – Project:Omega TITRE 1 Project :Omega - Tutoriel Partage de ressources Windows sur Mac OS X Textes originaux en anglais sur O'Reilly : http://www.macdevcenter.com/pub/a/mac/2003/03/18/samba.html © Décembre 2002 - Olivier pour la traduction Olivier 17 sur 17 © Avril 2003 – Project:Omega