# apt-get install samba
Durant l'installation et selon votre version de Linux, Samba propose d'utiliser le nom "WORKGROUP" pour le "groupe de travail". C'est à priori le meilleur choix par défaut mais quoi qu'il en soit, nous allons réécrire le fichier de configuration donc c'est sans importance.
Durant l'installation Samba à créé un fichier /etc/samba/smb.comf. Nous allons le renommer en smb.conf.old afin de le conserver ...
# mv /etc/samba/smb.conf /etc/samba/smb.conf.old
... puis on édite un nouveau fichier du même nom
# nano /etc/samba/smb.conf
La première chose à renseigner dans le fichier smb.conf sont les paramètres du serveur, la machine sur la quelle on vient d'installer Samba, c'est la section [global]
[global]
server string = nom_machine
workgroup = WORKGROUP
netbios name = nom_machine
public = yes
encrypt passwords = true
A ce stade le serveur est correctement configurer et tout à fait fonctionnel à ceci prêt que l'on n'ai indiquer aucun partage.
Samba propose une section [HOMES] permettant le partage du répertoire personnel, je vous propose plutôt d'éditer au cas par cas le partage de répertoire.
Supposons l'arborescence suivante: /home/user/partage/. Pour partager le répertoire partage/ on ajoutera quelque chose comme ça à la suite de notre fichier smb.comf.
[nom_section]
path = /home/user/partage
read only = no
writeable = yes
valid users = user
comment = partage sur machine
Toute modification dans le fichier de configuration impliquera de redémarrer Samba pour que celles-ci soient prise en compte:
# /etc/init.d/samba stop
Stopping Samba daemons: nmbd smbd.
# /etc/init.d/samba start
Starting Samba daemons: nmbd smbd.
Enfin in ne reste plus qu'à indiquer à Samba le mot de passe pour l'utilisateur "user", ce mot de passe est propre à Samba.
# smbpasswd -a user
New SMB password:
Retype new SMB password:
#
Désormais votre répertoire est accessible depuis le réseau.
L'utilitaire testparm
(livré avec Samba) permet de vérifier si la syntaxe (et pas le fonctionnement) du fichier smb.conf est correcte.
# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[nom_de_la_section_trop_long]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Dans cet exemple j'ai une alerte car le nom de section est trop long et risque de ne pas être identifié correctement depuis un système d'exploitation ou un serveur Samba un peu ancien (Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.), on s'en fiche.
Il suffit d'ouvrir les "partages réseau" pour apercevoir notre machine Linux.
Cliquez, entrez le couple login / password, naviguez dans vos répertoires partagés
Il est possible sous Linux d'accéder à ses répertoires partagés grâce au programme smbclient. S'il n'est pas déjà présent sur votre distribution installez le!
# apt-get install smbclient
On affiche les répertoires partagés et les machines connectées au domaine grâce à la commande suivante:
$ smbclient -L //192.168.0.3 -U manu
Enter manu's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.6]
Sharename Type Comment
--------- ---- -------
zoo_download Disk Downloads sur zoo
zoo_music Disk music sur zoo
IPC$ IPC IPC Service (zoo)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.6]
Server Comment
--------- -------
JULIE-NETBOOK
LIVIA-PC
ZOO zoo
Workgroup Master
--------- -------
WORKGROUP ZOO
Une fois identifié l'ordinateur et le répertoire souhaité on peut se connecter à ceux-ci en utilisant la commande suivante:
$ smbclient //192.168.0.3/zoo_music -U manu
Enter manu's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.6]
smb: \>
Une fois devant le prompt tapez "help" ou "?" pour afficher l'aide et trouver la commande que vous souhaitez exécuter.
smb: \> help
? allinfo altname archive blocksize
cancel case_sensitive cd chmod chown
close del dir du echo
exit get getfacl hardlink help
history iosize lcd link lock
lowercase ls l mask md
mget mkdir more mput newer
open posix posix_encrypt posix_open posix_mkdir
posix_rmdir posix_unlink print prompt put
pwd q queue quit readlink
rd recurse reget rename reput
rm rmdir showacls setmode stat
symlink tar tarmode translate unlock
volume vuid wdel logon listconnect
showconnect .. !
smb: \>
Pour obtenir de l'aide à propos d'une commande en particulier tapez simplement:
smb: \> help ls
HELP ls:
<mask> list the contents of the current directory
smb: \>
Pour accéder de manière transparente à un répertoire partagé depuis un gestionnaire de fichier le principe consiste à faire un point de montage de ce répertoire la ou on le souhaite.
On commence par créer le répertoire ou sera monté le dossier partagé:
$ cd /home/user/partage
$ mkdir dossierDeMontage
Et bien sûr on le monte grâce à la commande suivante:
# smbmount //192.168.0.3/nomDossierPartage /home/user/partage/dossierDeMontage -o username=user
On n'oubliera pas de démonter le partage de cette manière:
$ smbumount ~/partage/dossierDeMontage
debianaddict
ccm samba
smbnetfs et smbnetfs