Articles

Mac

Réseau Mac/PC avec Samba

Par Contributeur - Publié le

C'est quoi samba ?



Samba a été inventé par Andrew Tridgell et est developpé maintenant par la Samba Team.
Il utilise SMB, un protocole de partage de fichier développé par Microsoft et qui est une alternative aux protocoles Netware, NFS, AppleTalk... SMB est supporté nativement par Linux, Windows NT (client W98, W95) et OS/2, mais d'autres packages permettent d'ajouter ces fonctionnalités à d'autres systèmes d'exploitation comme à notre Unix préféré :-). Ainsi grâce à ce protocole, nous allons pouvoir partager des fichiers et des imprimantes.
Dans notre cas, SAMBA nous permettra de partager des fichiers avec des PCs.

Pour installer




Réseau Mac/PC avec Samba

Téléchargez le package samba sur : Télécharger
Ouvrez l'image "Samba X 2.2.1a.dmg" puis ouvrez le package "Samba.pkg".

N'oubliez pas de cliquer sur le cadenas et de vous identifier pour pouvoir installer SAMBA.
Une fois l'installation finie .... vous pouvez simplement vous connecter à un ordi en tapant directement pomme-k dans le finder ou menu "Aller"-->"Se connecter à un serveur".

Pour l'instant OSX.1, ne permet pas de lister les postes connectés, il faut donc connaitre exactement le nom du serveur et le partage : smb://Serveur/Partage --> smb://PC/Documents
Une fenêtre d'identification s'ouvre alors, indiquez un workgroup (un workgroup est un ensemble de machines groupées sous un même nom). Si vous n'avez qu'une machine ou vous n'y voyez aucun interêt entrez n'importe quoi. Ensuite le nom d'utilisateur, et le mot de passe (du classique quoi).

p'tite astuce : pour éviter de refaire la manip à chaque démarrage faites un alias du partage et tout se fera tout seul après.

Réseau Mac/PC avec Samba


Et voila le résultat, c'est de la bombe non ?? ;-)

Maintenant vous pouvez avoir accès aux fichiers PC, mais il faut aussi que l'on ait accès à vos partages... Et ça va se compliquer grave !! :-(

Si vous avez juste besoin de récupérer des fichiers et en transférer depuis votre mac, vous pouvez vous arrêter à cette étape !

Chaud chaud chaud



Pour configurer votre SAMBA, nous allons faire cela de la façon la plus simple possible (et oui pourquoi utiliser les lignes de commandes alors que nous pouvons le faire simplement par un navigateur web ?).

Réseau Mac/PC avec Samba

SWAT (Samba Web Administration Tool) est l'application qui permet de configurer le fichier smb.conf directement par votre browser, mais cela nécessite d'être activé en mode "root". Le mode root étant désactivé par défaut dans MacOSX, nous allons donc l'activer.

Pour cela ouvrez l'application NetInfo Manager située dans le dossier Utilities du dossier Applications (ch'tite astuce en passant : tapez pomme-A dans le finder pour arriver directement au dossier application).

Avant tout cliquez sur le cadenas en bas et identifiez vous !
Ensuite allez dans le menu Domaine --> Sécurité --> Activer l'utilisateur root . Entrez votre mot de passe root.
Etre en root cela signifie que vous avez tous les droits, c'est encore au dessus d'administrateur, ce mode peut être dangeureux pour des personnes non averties (Mais pas de panique puisque ce mode n'est visible qu'en console lorsque vous vous serez declaré en tant que root) !
Allez, pendant qu'on y est, je vais vous expliquer comment se logger en tant que root dans le terminal. Il suffit de taper su (comme Super User), cela ne marche que si vous avez fait la manip dans NetInfo.

Réseau Mac/PC avec Samba


Ouvrez internet explorer et tapez l'adresse : http://localhost:901/
Identifiez vous en temps que root pour pouvoir activer vos partages et modifier vos info.
Si vous ne vous identifiez pas en root vous aurez une page web simplifiée où vous pourrez juste consulter et non modifier vos infos.

Une fois identifié, vous obtenez la page d'accueil de SWAT, où vous trouvez tout plein d'aide.

Configuration du serveur




Réseau Mac/PC avec Samba


Allons dans Globals, il y a 3 paramètres :
- workgroup : WORKGROUP
- netbios : OSX SAMBA qui correspond au nom du serveur
- server string : Samba %v running on OSX Commentaire pour les utilisateurs. Le %v signifie la version de Samba et %h le nom du hôte (host name).
- Secruity : User (accès au niveau des utilisateurs qu'il faudra définir juste après).
- Encrypt passwords : yes

Pour que tous ces paramètres soient pris en compte cliquez sur Commit Changes (à retenir pour la suite donc).



Ajouter un utilisateur




Réseau Mac/PC avec Samba

Pour permettre l'accès à vos partages vous devez créer un ou des utilisateurs. Pour ce faire cliquez dans le menu "password" et tapez un utilisateur et un password (pour pouvoir ajouter un utilisateur, il doit exister dans le "system password file", c'est à dire qu'un utilisateur doit exister en local dans les préférences systèmes --> Utilisateurs). L'utilisateur que vous ajouterez aura juste accès à ces dossiers et fichiers c'est à dire les fichiers dont il est le possesseur. Un pomme-i -->Autorisation sur un fichier ou sur dossier permet de connaitre le possesseur d'un fichier.

Vous pouvez changer le possesseur dans le terminal en faisant un chown :
Ex : sudo chown -Rf admin /Users/Zork/ --> vous ne pouvez changer le nom du possesseur que par un existant.
- sudo : permet de se mettre en mode administrateur
chown : changer le possesseur d'un fichier ou dossier
-Rf : R pour Recursif (applique à toute la hiérarchie de fichier et dossier) et f pour forcer le changement
admin : nom d'utilisateur existant
/Users/Zork : un chemin d'acces

Réseau Mac/PC avec Samba


Attention, entrainez-vous sur un dossier sans valeur car lorsqu'on ne maitrise pas les commandes unix, on peut faire des dégats, surtout avec le -Rf !!!

Vous pouvez voir la liste des utilisateurs existant dans "NetInfo Manager", en effet la liste disponible dans "System Préferences-->Utilisateurs" n'est pas complète et vous disposez d'options supplémentaires.
Si vous voulez rajouter un utilisateur simplement, passez par ce dernier en revanche. Néanmoins il est possible de rajouter un utilisateur dans NetInfo en dupliquant un utilisateur existant.







Créer un partage




Réseau Mac/PC avec Samba

Cliquez sur Share dans SWAT et donnez un nom de partage puis cliquez sur Create Share.
Maintenant il faut configurer tout ca !

comment : Vous pouvez entrer un p'tit commentaire si ça vous chante.
path : le chemin d'accès depuis la racine
read only : Yes ou No, si vous voulez que l'utilisateur ait un accès total (Lecture-ecriture) ou juste lecture...

Réseau Mac/PC avec Samba


Résultat



Cliquez sur VIEW, la partie de code que vous pouvez visualisez c'est ce que vous avez éviter de tapper en utilisant SWAT.

Réseau Mac/PC avec Samba


Bon, on vérifie si ca marche ?



Cliquez sur Status, et cliquez sur "Restart smbd et nmbd" pour prendre en compte les modifs (s'ils ne sont pas déjà démarrés cliquez sur Start).

Réseau Mac/PC avec Samba

Ensuite, allez sur le PC (client 98 par exemple) et loggez vous en tant que l'utilisateur que vous avez ajouté tout à l'heure (zork dans mon cas). Puis allez dans voisinage réseau et ô miracle il y a ... le nom du serveur (PISMO).
Ouvrez le dossier et vous verrez les dossiers que vous avez partagé dans share.
Dans mon cas j'en ai fait 3, et l'un d'entre eux ne m'est pas accessible (dossier compte admin) car je suis loggé sur le PC en tant que zork, alors que le possesseur est "admin".

Réseau Mac/PC avec Samba


Listes des connectés




Réseau Mac/PC avec Samba


Si vous allez dans Status, vous pouvez voir toutes les machines connectées à la vôtre, ainsi que le nom de l'utilisateur étant connecté à vos partages. Vous pouvez même killer un utilisateur connecté :-).




Problèmes...




Un gros problème est à noter : si vous montez un partage, le contenu n'est pas réactualisé en temps réel. C'est à dire que si vous copiez un dossier dans le partage du PC par exemple, il ne sera pas vu sur mac jusqu'à ce que vous ne le démontiez et remontiez. En revanche vos partages seront actualisés en temps réel.

N'oubliez pas qu'avec ce type de securité (au niveau de l'utilisateur), les options d'accès aux fichiers (Lecture, Execution et Ecriture au niveau des User Group Other visible avec un pomme-i) n'auront aucun effet, car on définit dans SWAT si un partage est en lecture seul ou non.

Note : je reviendrais dans un prochain article sur les droits et commandes unix.



Désinstaller



Ca y est vous en avez déjà marre de SAMBA, alors vous pouvez simplement le désinstaller en tappant dans le terminal: sudo /usr/local/samba/removesamba

Plus d'infos ...



Voila quelques liens :
Xamaba sourceforge.net
euhhh voila, y'en a qu'un pour l'instant

Pour aller plus loin ...



Ouvrez votre terminal et amusez vous en mode root dans le dossier /usr/local/samba/

Notamment avec les fichiers :/usr/local/samba/lib/smb.conf et /usr/local/samba/private/smbpasswd.conf

Vous maitrisez maintenant...



A force d'utiliser SWAT, ou de triffouiller votre fichier smb.conf, vous vous rendrez alors compte qu'il est vraiment plus rapide de configurer directement dans le fichier smb.conf.
Si vous êtes débutant entrainez vous avec SWAT et regardez le code ainsi créé (qui est trop important). Ensuite, voici quelques commandes à taper directement dans votre smb.conf (bien sûr, disponible aussi dans SWAT avec les options avancées "Advanced View") :

[global]

character set = ISO8859-1 : si vous utilisez Windows français (caractère accentué), utilisez l'option ISO8859-1.

logon script = logon.bat : si vous voulez qu'à la connection un script se lance automatiquement.

Au niveau du partage :

Maintenant palions le problème dû au droit d'accès. Comme vous avez pu le constater, je n'avais pas accès au répertoire du compte admin. La solution consiste à autoriser des utilisateurs en lecture ou écriture de la façon suivante.
Vous entrez un nom d'utilisateur ou bien celui d'un groupe qui aura l'accès ou non. N'oubliez pas l'@ devant le nom du groupe.

[Users]
comment = Utilisateurs
path = /Users/
valid users = @share, zork #liste des utilisateurs qui ont le droit de se connecter
write list = @share, zork, @admin
create mask = 0775 # L'utilisateur (7) et les utilisateurs appartenant au groupe (7) auront le droit de lire et écrire sur ce partage, les autres auront un droit de lecture (5).
directory mask = 0775
browseable = yes # mettre No permet de cacher le partage dans le voisinage réseau de micro$
available = Yes # activer se partage

A vous maintenant !!! Bon courage ! ;-)