samba ou comment remplacer les serveurs nt. 2 plan introduction

39
Samba ou comment remplacer les serveurs NT

Upload: hrodger-normand

Post on 03-Apr-2015

118 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

Samba ou comment remplacer les serveurs NT

Page 2: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

2

Plan

• Introduction

Page 3: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

3

IntroductionQu’est ce que Samba

• Programmes permettant à une machine unix de fournir des services à des postes Wintel

• GPL

• Partage de fichiers et d’imprimantes

• Implémente SMB (CIFS) au-dessus de NetBIOS sur TCP/IP

• Joue le rôle de serveur WINs et PDC (contrôleur de domaine)

Page 4: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

4

IntroductionSamba vs NFS

• Protocole avec état ( NFS ) = moins robuste• beaucoup plus d’instructions = plus de

complexité = plus de rapide• Plus de fonctionnalité

SMB= NFS+lpd+Login/Password

Page 5: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

5

IntroductionPhilosophie

• Samba = Windows Networking "the unix way"

• Totale maîtrise des options du protocole– Options et fichiers de config. très complexes– Pas besoin de maîtriser tout d'un coup

• Il vaut mieux connaître le principe de fonctionnement

Page 6: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

6

Architecture7

5

6

4

3

1

2

Application

Transport

Session

Présentation

Network

liaison

Physique

Application

TransportTCP/UDP

InternetIP

Physique

Application

SMB

N1N2

N3

SytémeOS

OSI TCP SMB

N1 = NetBIOS sur IPXN2 = NetBEUIN3 = NetBIOS sur TCP/IP

Page 7: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

7

NetBIOS• Service de nommage

– espace plat– 15 caractères + type– master browser– WINS

• Service session

• Service datagramme

Page 8: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

8

Workgroup vs Domain

• Mode workgroup: peer to peer– chaque machine a une base de comptes– elle fait elle même la validation

• Domain– validation par une base centrale PDC

• il y a toujours la notion peer to peer

Page 9: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

9

Workgroup

Client

serveur 1partage de fichiers

serveur 2partage d'imprimante

Laser printer

Accésaux

fichier?

OUI OUI Accésà

l'imprimante

Data

Page 10: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

10

Domain

Client

serveur 1partage de fichiers

Contrôleur de domain

Accésaux

fichier?

OUI

Data

Client a-t-il accésaux fichiers ?

OUI

Page 11: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

11

Acteurs

fairuz mafatepixies

Master Browser

Page 12: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

12

ActeursWins

fairuz mafatepixies

fairuz mafatepixies

fairuz mafatepixies

Router

Router

Router

DomainMaster Browser

Master Browser

Master Browser

Sous-réseau 1

Sous-réseau 2

Sous-réseau 3

Page 13: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

13

Samba• nmbd service de nommage + 'browser'• smbd service de partage de fichiers• smbpasswd ajout d'utilisateur• addtosmbpass import de /etc/passwd• nmblookup cherche des noms NetBIOS• smbprint imprimer sur des imprimantes

Wintel• smbclient client ligne de command SMB• smbtar tar. un volume win. directement

Page 14: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

14

Configuration

• Smb.conf– il y avait 165 paramètres dans la v 1.9.17– en version 2.0

• 130 paramètres globaux

• 100 paramètres de partage

• un man de ~ 8500 lignes

Tout est configurable

Page 15: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

15

Smb.conf• [global]

– paramètres globaux

– valeurs par défaut pour les autres sections

• [homes]– permet d'avoir un service homes automatique

• [printers]– exporter les imprimante std (/etc/princap)

• [autres...]– définir d'autres services de partage disque ou

imprimante

Page 16: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

16

Variables et macros• Macros toujours disponibles

%U = le username demandé par le client à l'ouverture de la session, passé par le client au serveur

%G = groupe primaire de l'utilisateur %U

%M = nom DNS de la machine cliente (en minuscules)

%I = adresse IP de la machine cliente

%m = nom NETBIOS de la machine cliente

%h = nom de l'hôte sur lequel tourne Samba

%L = le nom NETBIOS du serveur

%a = architecture de la machine cliente; sont reconnus : Samba, WfWg, Win95, WinNT; Tout le reste est "UNKNOWN".

%R = le niveau de protocole négocié : CORE, COREPLUS, LANMAN1, LANMAN2, NT1

%N = nom du serveur NIS

%T = date et heure courante

%d = PID du process serveur courant

%v = version de Samba

Page 17: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

17

Variables et macros

• Macros disponible uniquement dans un contexte de "partage"

%u = username du service courant (si défini, par exemple avec force user = xxx)

%g = nom du groupe primaire de l'utilisateur %u

%H = le "home" directory de l'utilisateur %u

%P = root directory du service courant

%S = nom du service courant

Page 18: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

18

[global]• Include = /usr/local/samba/lib/smb.conf.%M• netbios = barman• workgroup = inat• server string = commentaire• local master = yes• preferred master = no• os level = 33• domain master = yes

Page 19: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

19

[gobal]

• wins server = nom.serveur.dns• wins support = yes• interfaces = 192.134.4.1 192.134.0.0/24• name resolver order = lmhosts hosts wins bcast• dead time = 15• log file = fichier.%m• max log file = 2000 (2M)

Page 20: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

20

Sécurité

• Share– défaut pour V<= 1.19

• user– défaut pour V >= 2.00

• server

• domain– existe pour V >= 2.00

Page 21: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

21

Security=Share

• Modèle Win95

• un password par partage

• authentification à chaque connexion

• méthode déconseillée avec samba

Page 22: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

22

Security= Share

Client Sambasecurity=share

négocier protocole

protocole chosi

tree connexion

inclus passwd

réponse oui/non

Page 23: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

23

Security= user

• Samba authentifie une paire (username/passwd)

• une seul authentification lors de la première connexion

• problème des MAJUSCULES

• Le plus utilisé

Page 24: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

24

Security= user

Client Sambasecurity=user

négocier protocole

protocole chosi

session setup request

inclus user/passwd

UID si réponse oui

tree connexion request

inclus UID

TID si réponse oui

Page 25: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

25

Security= server

• Même mode que user

• samba utilise une liste de serveurs pour vérifier (username/password)

• il est impératif d'avoir un UID-unix par utilisateur pour faire le contrôle d'accès– username uid:gid home– password=* shell=/bin/false

Page 26: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

26

Security = domain

• Même principe que le mode user

• le serveur peut devenir membre du domaine NT

Page 27: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

27

Sécurité: allow deny equiv

• Contrôle d'accès selon la machine cliente

• hosts allow = 192.134.4.47 \192.134.0 execpt 192.134.4.0.4

• hosts deny = mechan.fr

• hosts equiv = /etc/hosts.equiv

Page 28: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

28

Exemple• Un partage projet accessible par malek et mas

• /etc/passwd– malek:zzzzzz:zzzzz:/home/malek:/usr/bin/bash– mas:zzz:zzzz:/home/mas:/usr/bin/bash

• /etc/group– projet:x:400:malek,mas

Page 29: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

29

exemple#============== Global Definitions ===============

[global]

workgroup = tunis

server string = %h serveur Samba

printcap name = /etc/printcap

load printers = yes

log file = /var/log/samba/log.%m

max log size = 500

security = user

socket options = TCP_NODELAY

dns proxy = no

Page 30: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

30

exemple#================= Share Definitions ================

[homes]

comment = Home Directories

browseable = no

writable = yes

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

# Set public = yes to allow user 'guest account' to print

guest ok = no

writable = no

printable = yes

Page 31: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

31

exemple[projet]comment = répertoire commun pierre et jean;le texte ci-dessus apparait dans l'explorateurpath = /home/projetwritable = yesvalid users = @projet# les membres du group "projet" ont accèslocking = yes; modes par défaut à la création de fichiers:create mode = 0660directory mode = 0770force group = projet

Page 32: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

32

Swat

• Interface graphique: web + cgi

• /etc/services– swat 901/tcp

• /etc/inetd.conf– swat stream tcp nowait.400 /usr/local/samba/bin/swat swa

• http://127.0.0.1:901/

Page 33: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

33

Swat

Page 34: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

34

Swat

Page 35: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

35

Page 36: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

36

Page 37: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

37

Page 38: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

38

Page 39: Samba ou comment remplacer les serveurs NT. 2 Plan Introduction

39