Vous êtes sur la page 1sur 20

Table des matières

1 SERVICE SAMBA ..................................................................................................... 2


1.1 INTRODUCTION .............................................................................................. 2
1.2 COMPOSANTS DE SAMBA ............................................................................ 2
1.3 INSTALLATION DU CLIENT SAMBA .......................................................... 3
1.4 INSTALLATION DU SERVEUR SAMBA ...................................................... 3
1.5 CONFIGURATION DE SAMBA ...................................................................... 4
1.5.1 Partage du répertoire personnel ...................................................................... 5
1.5.2 Partager un répertoire quelconque .................................................................. 6
1.5.3 Partage d'un lecteur de CD-ROM ................................................................... 6
1.5.4 Test de la configuration .................................................................................. 7
1.6 ACCEDER A UNE RESSOURCE SAMBA SOUS LINUX ............................. 8
1.6.1 Envoyer un message ..................................................................................... 10
1.6.2 Monter une ressource Samba partagée (smbmount) ..................................... 12
1.6.3 Monter une ressource Samba partagée (cifs) ................................................ 13
1.6.4 Accéder à une ressource Samba à partir de Linux ........................................ 14
1.7 ACCEDER A UNE RESSOURCE SAMBA A PARTIR DE WINDOWS ..... 15
1.8 FICHIER DE MOT DE PASSE SAMBA ........................................................ 16
1.8.1 Méthode manuelle ......................................................................................... 16
1.8.2 SWAT ........................................................................................................... 20

_______________________________________________________________________
 2011 Hakim Benameurlaine 1
1 SERVICE SAMBA

1.1 INTRODUCTION

Développé à l’origine par l’Australien Andrew Tridgell, Samba est un outil qui met
en place un partage de fichiers et d’imprimantes compatibles avec Windows.

Samba utilise le protocole SMB (Server Message Block) pour partager les fichiers et
les imprimantes sur une connexion réseau. Les systèmes d'exploitation qui prennent
en charge ce protocole incluent Microsoft Windows (à travers son Voisinage
Réseau), OS/2 et Linux.

Au lieu d’apprendre à un poste Windows à dialoguer avec un serveur Unix, Samba


apprend à Unix à agir comme un système Windows partageant ses ressources. Le
résultat est un système rapide, performant, accessible pour un large public et gratuit.

Quand vous faites une connexion au serveur Samba, vous lui passez un nom
d'utilisateur. C'est le nom d'utilisateur Windows. Samba va alors chercher pour le
même nom d'utilisateur dans la base de données des mots de passe Unix, donc
habituellement le fichier /etc/passwd. S'il le trouve, le serveur Samba utilisera
cette entrée pour avoir, au moins, un ID utilisateur Unix valide pour accéder les
répertoires et les fichiers. Il peut aussi utiliser le fichier /etc/passwd pour valider
le mot de passe reçu. Mais seulement s'il n'est pas configuré pour utiliser les mots de
passe encryptés. Auquel cas il validera le mot de passe avec un autre fichier, par
exemple /etc/samba/smbpasswd (paramètre smb passwd file)

En résumé, pour chaque utilisateur Windows, vous avez besoin d'un compte
Unix avec le même nom. Cependant il existe certaines méthodes pour se
débarrasser de cette contrainte.

1.2 COMPOSANTS DE SAMBA

Le service Samba est constitué d'un serveur et d'un client, ainsi que de
quelques outils permettant de réaliser des services pratiques ou bien de
tester la configuration.

 Le serveur est constitué de deux applications (appelées démons):


o smbd, noyau du serveur, fournissant les services d'authentification et
d'accès aux ressources
o nmbd, permettant de montrer les services offerts par Samba (affichage
des serveurs Samba dans le voisinage réseau, ...)

_______________________________________________________________________
 2011 Hakim Benameurlaine 2
 Le client: smbclient est un client pour linux fournissant une interface
permettant de transférer des fichiers, accéder à des imprimantes
 Le client smbmount
 Le client smbumount
 La commande testparm vérifiant la syntaxe du fichier smb.conf

1.3 INSTALLATION DU CLIENT SAMBA

Il faut installer les paquetages :

samba-client
samba-common

# yum install samba-common

# yum install samba-client

1.4 INSTALLATION DU SERVEUR SAMBA

Il faut installer les paquetages :

samba-common
samba

# yum install samba-common

# yum install samba

Pour configurer SAMBA, on peut utiliser l’un des deux outils graphique SWAT ou
bien system-config-samba.
SWAT = Samba Web Admin Tool : Outil Web de configuration de Samba
Pour cela il faut installer les paquetages suivants :

system-config-samba
samba-swat

# yum install system-config-samba

# yum install samba-swat

Si vous voulez que le service smb démarre automatiquement, utilisez ntsysv,


chkconfig ou serviceconf pour l'activer lors de l'exécution.

# chkconfig smb on

_______________________________________________________________________
 2011 Hakim Benameurlaine 3
1.5 CONFIGURATION DE SAMBA

La configuration de Samba est effectuée par l'intermédiaire d'un fichier de


configuration unique: smb.conf. Ce fichier est situé dans le répertoire
/etc/samba.

Ce fichier décrit les ressources que l'on désire partager, ainsi que les
permissions/restrictions qui leur sont associée. Le fichier smb.conf se
découpe selon des rubriques (chacune référencé par une ligne contenant le
nom de la section entre crochets) comprenant chacune un ensemble de
lignes de paramètres du type attribut = valeur. Une ligne commençant
par un # est une ligne de commentaires.

Il existe 3 sections principales:

 La section [global] définit les paramètres généraux sur le serveur


 La section [homes] définit le partage des répertoires personnels
 La section [printers] définit les imprimantes partagées par le serveur

Section [global]

Voici un exemple de section [global]:

[global]

# même nom de groupe que celui sous Windows (Voisinage


réseau)
workgroup = GROUPELINUX

# commentaire dans voisinage réseau.


server string = Serveur Samba

# empêcher l'accès à certaines machines


;hosts allow = 192.168.100 EXCEPT 192.168.100.23

# emplacement du fichier printcap (imprimantes sur le


serveur Linux)
printcap name = /etc/printcap

_______________________________________________________________________
 2011 Hakim Benameurlaine 4
# partage de toutes les imprimantes définies dans
printcap
load printers = yes

# pcguest doit être créé.


# si aucun compte invité alors nobody est utilisé.
guest account = pcguest ;

# fichier journal de Samba


# un fichier journal par machine
log file = /var/log/samba/%m.log

# mode de sécurité : (user / share / server)


security = user

encrypt passwords = yes


smb passwd file = /etc/samba/smbpasswd

1.5.1 Partage du répertoire personnel

La section [homes] permet de définir l'accès au répertoire personnel de


chaque utilisateur. Voici un exemple de section:

[HOMES]
# commentaire visible depuis le voisinage réseau
comment =Répertoire personnel

# affichage de la ressource pour tous


browseable = no

# possibilité d'écrire sur la ressource


writable = yes

valid users = %S
create mode = 0664
directory mode = 0775

_______________________________________________________________________
 2011 Hakim Benameurlaine 5
1.5.2 Partager un répertoire quelconque

Il est possible de définir un accès personnalisé à n'importe quel répertoire de la


machine en créant une section portant le nom de la ressource partagée.

Voici un exemple de section personnalisée:

[CCM]

# commentaire visible depuis le voisinage réseau


comment = Répertoire CCM

# chemin d'accès a la ressource


path = /home/ccm

# affichage de la ressource pour tous


browseable = no
public = no

# utilisateur autorise à accéder à la ressource


user = jeff,meandus,tittom

# possibilité d'écrire sur la ressource


writable = yes
create mask = 0750

1.5.3 Partage d'un lecteur de CD-ROM

Il est ainsi possible de partager un lecteur de CD-ROM (celui-ci devant être


préalablement monté), en créant par exemple une section [cd-rom] comme suit:

[CD-ROM]

# commentaire visible depuis le voisinage réseau


comment = lecteur de CD-ROM
# chemin d'accès au lecteur
path = /media/cdrom
# accessible à tous
public = yes
# impossibilité d'écrire sur la ressource
writable = no

_______________________________________________________________________
 2011 Hakim Benameurlaine 6
1.5.4 Test de la configuration

Le programme testparm permet de vérifier la syntaxe du fichier de


configuration (smb.conf). Il est conseillé d'exécuter cet utilitaire à chaque
modification manuelle du fichier smb.conf.

_______________________________________________________________________
 2011 Hakim Benameurlaine 7
1.6 ACCEDER A UNE RESSOURCE SAMBA SOUS LINUX

Le client Samba (smbclient) permet de fournir une interface en ligne de


commande pour accéder aux ressources Samba à partir d'une machine de
type Unix.

Dans ce qui suit, on suppose qu’on dispose d’un partage partage_xp sur
une machine Windows XP :

_______________________________________________________________________
 2011 Hakim Benameurlaine 8
smbclient permet en premier lieu de vérifier l'existence d'un serveur Samba sur
le réseau et de lister les ressources qu'il partage grâce à la commande:

Une fois les ressources identifiées, il est possible d'accéder à chacune


d'entre elles en utilisant des commandes qui ressemblent à FTP(put, get..)
afin d'envoyer/recevoir des fichiers ou bien de parcourir les répertoires de la
ressource.

_______________________________________________________________________
 2011 Hakim Benameurlaine 9
1.6.1 Envoyer un message

Le client Samba permet aussi d'envoyer des messages sur un client


LanManager (pour peu que la machine distante permette de gérer ce type
de message, comme par exemple avec WinPopUp). La syntaxe d'envoi
d'un message (de moins de 1600 octets) est la suivante:

# smbclient -M nom_de_la_machine

Lorsque vous avez fini d'écrire le message, il faut appuyer simultanément


sur Ctrl+D.

_______________________________________________________________________
 2011 Hakim Benameurlaine 10
Ne pas oublier d’activer le service ‘affichage des messages’.

_______________________________________________________________________
 2011 Hakim Benameurlaine 11
1.6.2 Monter une ressource Samba partagée (smbmount)

Les utilitaires smbmount et smbumount permettent de monter de


démonter des ressources SMB en tant que système de fichiers distant.

NOTE

La commande smbmount n’est plus supportée par les versions récentes.

Pour monter une ressource :

Pour démonter la ressource :

# smbumount /mnt

_______________________________________________________________________
 2011 Hakim Benameurlaine 12
1.6.3 Monter une ressource Samba partagée (cifs)

RedHat utilise un nouveau type de partage de fichier Windows appelé CIFS


(Common Internet File System).

Pour plus d’informations:

man mount.cifs

Notez que CIFS ne peut pas résoudre les noms d'ordinateurs Windows, utilisez
leurs adresses IP à la place.

_______________________________________________________________________
 2011 Hakim Benameurlaine 13
1.6.4 Accéder à une ressource Samba à partir de Linux

A partir d’un fureteur, spécifier smb://localhost/fedora par exemple.

_______________________________________________________________________
 2011 Hakim Benameurlaine 14
1.7 ACCEDER A UNE RESSOURCE SAMBA A PARTIR DE WINDOWS

Pour accéder à une ressource Samba à partir de Windows, utiliser l’une


des deux méthodes suivantes :

Voisinage réseau

Commande net

Pour voir les partages :

net view

Pour créer un map :

net use w: \\linux\partage_tmp

_______________________________________________________________________
 2011 Hakim Benameurlaine 15
1.8 FICHIER DE MOT DE PASSE SAMBA
1.8.1 Méthode manuelle

Dans RedHat les mots de passe cryptés sont activés par défaut.

Le protocole SMB de Microsoft utilisait à l'origine des mots de passe en


texte clair. Cependant, Windows 2000 et Windows NT 4.0 avec Service
Pack 3 ou supérieur requièrent des mots de passe Samba cryptés.

Pour utiliser Samba entre un système RedHat Linux et un système


Windows 2000 ou Windows NT 4.0 Service Pack 3 ou supérieur, vous
pouvez modifier le registre Windows afin qu'il utilise des mots de passe en
texte clair ou configurer Samba sur votre système Linux pour l'utilisation
de mots de passe cryptés. Si vous choisissez de modifier le registre, vous
devez le faire sur toutes vos machines Windows NT ou 2000.

1) Dans /etc/samba/smb.conf mettre :

encrypt passwords = yes


smb passwd file = /etc/samba/smbpasswd

2) Créer le fichier de mots de passe /etc/samba/smbpasswd

# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

3) Ajouter un usager :

# smbpasswd -a hakimb
New SMB password:
Retype new SMB password:
Added user hakimb.
[root@localhost samba]#

La commande smbadduser n’est plus supportée par les versions


récentes.

_______________________________________________________________________
 2011 Hakim Benameurlaine 16
4) Modifier le mot de passe :

# smbpasswd hakimb
New SMB password:
Retype new SMB password:
Password changed for user hakimb.

5) Désactiver un usager :

# smbpasswd -d v2000
Disabled user v2000.

6) Activer un usager :

# smbpasswd -e v2000
Enabled user v2000.

7) Supprimer un usager :

# smbpasswd -x v2000
Deleted user v2000.

Procédure détaillée:

Pour configurer Samba sur votre système RedHat pour l'utilisation de mots
de passe cryptés, suivez la procédure ci-dessous :

1) Créez un fichier de mots de passe séparé pour Samba. Pour en créer un


sur la base de votre fichier /etc/passwd existant, tapez la commande
suivante à une invité de Shell :

# cat /etc/passwd | mksmbpasswd.sh >


/etc/samba/smbpasswd

_______________________________________________________________________
 2011 Hakim Benameurlaine 17
2) Si le système utilise NIS, tapez la commande suivante :

# ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

3) Le script mksmbpasswd.sh est installé dans votre répertoire /usr/bin


avec le paquetage samba.
4) Utilisez la commande chmod 600 /etc/samba/smbpasswd pour
changer les permissions du fichier de mots de passe Samba afin que seul
l'utilisateur root ait une permission de lecture et d'écriture.
5) Le script ne copie pas les mots de passe utilisateur dans le nouveau
fichier. Pour définir le mot de passe de chaque utilisateur Samba, utilisez
la commande smbpasswd nom d'utilisateur (remplacez nom
d'utilisateur par le nom de chaque utilisateur).

Un compte d'utilisateur Samba ne sera pas actif tant qu'un mot de passe
Samba correspondant n'aura pas été défini.

6) Les mots de passe cryptés doivent être activés dans le fichier de


configuration Samba. Dans le fichier smb.conf, vérifiez que les lignes
suivantes ne sont pas désactivées :

encrypt passwords = yes


smb passwd file = /etc/samba/smbpasswd

7) Relancez le service smb en tapant la commande :

service smb restart

_______________________________________________________________________
 2011 Hakim Benameurlaine 18
EXEMPLE

# cat /etc/samba/smbpasswd

# cat /etc/passwd|mksmbpasswd.sh > /etc/samba/smbpasswd

# cat smbpasswd
#
# SMB password file.
#
Root :0:XXXXXXX:XXXXXX:[UD]:LCT-0000:root
bin :1:XXXXXXX:XXXXXX:[UD]:LCT-0000:bin
daemon :2:XXXXXXX:XXXXXX:[UD]:LCT-0000:daemon
adm :3:XXXXXXX:XXXXXX:[UD]:LCT-0000:adm
lp :4:XXXXXXX:XXXXXX:[UD]:LCT-0000:lp
sync :5:XXXXXXX:XXXXXX:[UD]:LCT-0000:sync
shutdown :6:XXXXXXX:XXXXXX:[UD]:LCT-0000:shutdown
halt :7:XXXXXXX:XXXXXX:[UD]:LCT-0000:halt
mail :8:XXXXXXX:XXXXXX:[UD]:LCT-0000:mail
news :9:XXXXXXX:XXXXXX:[UD]:LCT-0000:news
uucp :10:XXXXXX:XXXXXX:[UD]:LCT-0000:uucp
operator :11:XXXXXX:XXXXXX:[UD]:LCT-0000:operator
games :12:XXXXXX:XXXXXX:[UD]:LCT-0000:games
gopher :13:XXXXXX:XXXXXX:[UD]:LCT-0000:gopher
ftp :14:XXXXXX:XXXXXX:[UD]:LCT-0000:FTP User
nobody :99:XXXXXX:XXXXXX:[UD]:LCT-0000:Nobody
rpm :37:XXXXXX:XXXXXX:[UD]:LCT-0000:
dbus :81:XXXXXX:XXXXXX:[UD]:LCT-0000:System message bus
avahi :70:XXXXXX:XXXXXX:[UD]:LCT-0000:Avahi daemon
rpc :32:XXXXXX:XXXXXX:[UD]:LCT-0000:Portmapper RPC user
mailnull :47:XXXXXX:XXXXXX:[UD]:LCT-0000:
smmsp :51:XXXXXX:XXXXXX:[UD]:LCT-0000:
nscd :28:XXXXXX:XXXXXX:[UD]:LCT-0000:NSCD Daemon
vcsa :69:XXXXXX:XXXXXX:[UD]:LCT-0000:virtual console memory owner
haldaemon:68:XXXXXX:XXXXXX:[UD]:LCT-0000:HAL daemon
rpcuser :29:XXXXXX:XXXXXX:[UD]:LCT-0000:RPC Service User
nfsnobody:65534:XXX:XXXXXX:[UD]:LCT-0000:Anonymous NFS User
sshd :74:XXXXXX:XXXXXX:[UD]:LCT-0000:Privilege-separated SSH
netdump :34:XXXXXX:XXXXXX:[UD]:LCT-0000:Network Crash Dump user
pcap :77:XXXXXX:XXXXXX:[UD]:LCT-00000000:
xfs :43:XXXXXX:XXXXXX:[UD]:LCT-00000000:X Font Server
beaglidx :58:XXXXXX:XXXXXX:[UD]:LCT-00000000:User for Beagle indexing
ntp :38:XXXXXX:XXXXXX:[UD]:LCT-00000000:
apache :48:XXXXXX:XXXXXX:[UD]:LCT-00000000:Apache
gdm :42:XXXXXX:XXXXXX:[UD]:LCT-00000000:
hakimb :500:XXXXX:XXXXXX:[UD]:LCT-00000000:

_______________________________________________________________________
 2011 Hakim Benameurlaine 19
1.8.2 SWAT

# cat smbpasswd | grep hakimb

hakimb:500:F1C9B0B3E4E77C1BAAD3B435B51404EE:2F267EC200DC
38AD19BD57ED11838632:[U]:LCT-46F19D05:

NOTE

Pour pouvoir ajouter un usager dans Samba (/etc/samba/smbpasswd), il


doit exister dans Linux (/etc/passwd)

_______________________________________________________________________
 2011 Hakim Benameurlaine 20

Vous aimerez peut-être aussi