samba ou comment remplacer les serveurs nt. 2 plan introduction

Post on 03-Apr-2015

118 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

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

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

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

7

NetBIOS• Service de nommage

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

• Service session

• Service datagramme

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

9

Workgroup

Client

serveur 1partage de fichiers

serveur 2partage d'imprimante

Laser printer

Accésaux

fichier?

OUI OUI Accésà

l'imprimante

Data

10

Domain

Client

serveur 1partage de fichiers

Contrôleur de domain

Accésaux

fichier?

OUI

Data

Client a-t-il accésaux fichiers ?

OUI

11

Acteurs

fairuz mafatepixies

Master Browser

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

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

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

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

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

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

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

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)

20

Sécurité

• Share– défaut pour V<= 1.19

• user– défaut pour V >= 2.00

• server

• domain– existe pour V >= 2.00

21

Security=Share

• Modèle Win95

• un password par partage

• authentification à chaque connexion

• méthode déconseillée avec samba

22

Security= Share

Client Sambasecurity=share

négocier protocole

protocole chosi

tree connexion

inclus passwd

réponse oui/non

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é

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

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

26

Security = domain

• Même principe que le mode user

• le serveur peut devenir membre du domaine 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

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

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

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

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

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/

33

Swat

34

Swat

35

36

37

38

39

top related