Samba ou comment remplacer les serveurs NT

39
Samba ou comment remplacer les serveurs NT

description

Samba ou comment remplacer les serveurs NT. Plan. Introduction. Introduction Qu’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 - PowerPoint PPT Presentation

Transcript of Samba ou comment remplacer les serveurs NT

Page 1: Samba ou comment remplacer les serveurs NT

Samba ou comment remplacer les serveurs NT

Page 2: Samba ou comment remplacer les serveurs NT

2

Plan

• Introduction

Page 3: Samba ou comment remplacer les serveurs NT

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

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

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

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

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

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

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

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

11

Acteurs

fairuz mafatepixies

Master Browser

Page 12: Samba ou comment remplacer les serveurs NT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

33

Swat

Page 34: Samba ou comment remplacer les serveurs NT

34

Swat

Page 35: Samba ou comment remplacer les serveurs NT

35

Page 36: Samba ou comment remplacer les serveurs NT

36

Page 37: Samba ou comment remplacer les serveurs NT

37

Page 38: Samba ou comment remplacer les serveurs NT

38

Page 39: Samba ou comment remplacer les serveurs NT

39