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