Samba

20
_______________________________________________________________________ 2011 Hakim Benameurlaine 1 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

description

Samba

Transcript of Samba

Page 1: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 1

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

Page 2: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 2

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, ...)

Page 3: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 3

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

Page 4: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 4

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

Page 5: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 5

# 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

Page 6: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 6

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

Page 7: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 7

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.

Page 8: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 8

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 :

Page 9: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 9

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.

Page 10: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 10

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.

Page 11: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 11

Ne pas oublier d’activer le service ‘affichage des messages’.

Page 12: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 12

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

Page 13: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 13

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.

Page 14: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 14

1.6.4 Accéder à une ressource Samba à partir de Linux

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

Page 15: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 15

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

Page 16: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 16

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.

Page 17: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 17

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

Page 18: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 18

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

Page 19: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 19

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:

Page 20: Samba

_______________________________________________________________________

2011 Hakim Benameurlaine 20

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)