SAMBA
This presentation is the property of its rightful owner.
Sponsored Links
1 / 48

SAMBA PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on
  • Presentation posted in: General

SAMBA. Les grandes Jorasses. SAMBA. La première version stable de Samba, créée par Andrew Tridgell, date de 1994 (Samba 1.7). La version 2 apparaît en 1999, la version 3 en 2003.

Download Presentation

SAMBA

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Samba

SAMBA

Les grandes Jorasses


Samba

SAMBA

La première version stable de Samba, créée par Andrew Tridgell, date de 1994 (Samba 1.7). La version 2 apparaît en 1999, la version 3 en 2003.

Samba est un logiciel serveur permettant à des stations Unix (Linux), Windows, OS2 et Mac de se connecter sur un serveur Unix (Linux) pour accéder à différents services.

Logo officiel de Samba


Samba1

SAMBA

Documentation

  • Le site officiel de samba : www.samba.org

  • De nombreux sites consacrés à Linux, par exemple : www.linux-france.org

  • Toute la documentation fournie avec les distributions de Linux qui contiennent Samba


Samba2

SAMBA

  • Petite biographie :

Samba, installation et mise en œuvre par Eckstein

Edité par O'Reilly

Samba, précis et concispar Jay Ts, Robert Eckstein David Collier-Brown

Edité par O'Reilly

Samba : Installation, mise en œuvre et administration par Michel Dutreix

Edité par Eni


Samba3

SAMBA

Un serveur Samba offre les services suivants :

  • partage de fichiers et de répertoires

  • partage d'imprimantes

  • exécution de scripts de connexion

  • serveur Dfs (voir cours Windows)

  • exploration de réseau pour le client

  • d'authentification des clients se connectant sur un domaine Windows

  • serveur de noms Wins


Samba4

SAMBA

Ces services sont rendus en respectant :

  • les comptes d'utilisateur (authentification)

  • les permissions d'accès

    SAMBA s'appuie sur le protocole SMB (Server Message Block).

    SMB s'appelle maintenant CIFS (Common Internet File System – RFC 1002-1002)

    Note : SAMBA = SaMBa


Samba5

SAMBA

SAMBA s'appuie sur le protocole SMB (Server Message Block)


Samba6

SAMBA

Rappel sur les réseaux Microsoft :

  • Les workgroups (ou groupe de travail)

  • Les domaines avec un PDC (Primary Domain Controller) qui gère la base SAM (Security Account Manager) et les BDC (Backup Domain Controller)qui en détiennent une copie.

  • L'Active Directory qui s'appuie sur LDAP et DNS


Samba7

SAMBA

Un serveur SAMBA peut être :

  • membre d'un workgroup

  • serveur principal (PDC) d'un domaine

  • serveur secondaire (BDC) d'un domaine si le PDC est un serveur Samba (impossible si le PDC est une serveur Microsoft)

  • serveur membre d'un domaine Active Directory (avec Samba 3)


Samba8

SAMBA

UTILISATION ET LANCEMENT

Du côté client Windows

TCP/IP doit être installé et

NETBIOS (NetBT ou NBT) doit être activé (à vérifier dans les propriétés réseau)

(NETBEUI est inutile)

Note 1 : SMBCLIENT est un client SMB pour système Unix

Note 2 : Ce cours est basé sur la distribution Suse Enterprise Server 10


Samba9

SAMBA


Samba10

SAMBA

Du côté serveur

Concrètement Samba s'appuie sur 2 "démons" (services)

  • smbd le serveur proprement dit

  • nmbdservice de résolution des

    noms NetBios

    Il existe également le service …..


Samba11

SAMBA

  • winbinddService permettant

    l'intégration d'un serveur Samba dans un domaine

    possédant déjà un PDC

    Windows (récupération des comptes)

    De nombreuses commandes et utilitaires sont associés à Samba, en voici quelques unes :


Samba12

SAMBA

  • smbstatusPour obtenir l'état des connexions

  • smbpasswdGestion des mots de passe

  • testparmVérification de la configuration

  • pbedit (version 3)Gestion des comptes dans une base de

    données SAM

  • net (version 3)Semblable à la commande Windows

  • smbcalsGestion des ACL (Access Control List)

  • smbspoolGestion des imprimantes

  • testprnsVérification des imprimantes

  • smbtarUtilitaire de sauvegarde


Samba13

SAMBA

  • nmlookupInterrogation du serveur de noms

    Netbios

  • swat Utilitaire Web de configuration

  • smbclientClient Unix pour utiliser Samba

  • smbgroupedit (version 3) Pour faire la correspondance

    entre les groupes Unix et windows

  • smbcontrolpour envoyer des commandes à smb

    et nmb en cours d'exécution

  • findsmbObtenir des informations sur smb

    Chaque utilitaire possède de nombreuses options


Samba14

SAMBA

Pour la distribution Suse Enterprise Server 10

  • Les démons sont dans /usr/sbin

  • Utilisation des scripts : [/bin/sh] /etc/rc.d/smb et /etc/rc.d/nmb

    • Lancement des serveurs : nmb start puis smb start (ou /usr/sbin/rcnmb start puis rcsmb start)

    • Arrêt : idem avec stop (smb stop)

    • Vérification : idem avec status (smb status)


Samba15

SAMBA

Lancement au démarrage du système :

  • Par l'interface graphique

  • En ligne de commande

    la distribution Suse Enterprise Server 10 utilise le "super-démon" xinetd pour gérer les services réseau(super-démon dans la mesure ou il gère d'autres démons).

    La commande xinetd utilise soit le seul fichier xinetd.conf soit ce fichier et le répertoire xinetd.d (cas le plus général)


Samba16

SAMBA


Samba17

SAMBA

Fichier /etc/xinet.conf

# xinetd.conf

defaults

{

log_type = FILE /var/log/xinetd.log

log_on_success = HOST EXIT DURATION

log_on_failure= HOST ATTEMPT

# only_from = localhost

instances = 30

cps = 50 10

interface= 127.0.0.1

}

includedir /etc/xinetd.d


Samba18

SAMBA

Les services Samba dans /etc/xinetd.d

Note : Service swat voir plus loin


Samba19

SAMBA

Il faut vérifier que les services sont déclarer dans le fichier /etc/services

netbios-ns137/tcp # NETBIOS Name Service

netbios-ns137/udp # NETBIOS Name Service

netbios-ssn139/tcp # NETBIOS Session Service

netbios-ssn 139/udp # NETBIOS Session Service

swat901/tcp


Samba20

SAMBA

CONFIGURATION DE SAMBA

Les fichiers de configuration de SAMBA se situent en général dans le répertoire :

/etc/samba

Ce répertoire contient essentiellement les fichiers suivants (noms par défaut) :

smb.conf (pour la configuration de Samba)

smbpasswd (pour les mots de passe)


Samba21

SAMBA

Le fichier smb.conf contiendra toutes les informations pour le fonctionnement du serveur :

  • Les informations générales

  • Répertoire personnel des utilisateurs

  • Répertoires partagés collectivement

  • Les imprimantes partagées

  • Les droits d'accès.

  • etc.


Samba22

SAMBA

Après une modification du fichier smb.conf

  • Détecter les erreurs de syntaxe et tester la cohérence du fichier avec l'utilitaire :

    testparm

  • Arrêter et relancer le serveur :

    smb stop puis smb start

    ou smb restart


Samba23

SAMBA

Le fichier smb.conf se décompose en sections dont les principales sont :

  • [global]

    Contient la configuration générale du serveur

  • [home]

    Description des répertoires personnels

  • [nom_rep_partagé]

    Description d'un répertoire collectif

  • [netlogon]

    Pour les scripts de connexion


Samba24

SAMBA

Le fichier smb.conf se décompose en section dont les principales sont :

  • [profiles]

    Pour les profils utilisateur

  • [nom_imprimante]

    Pour le partage d'une imprimante

  • [printers]

    Description des imprimantes partagées par le système


Samba25

SAMBA

UTILSATEURS DU SERVEUR SAMBA

Un utilisateur de Samba est avant tout un utilisateur Linux, il devra donc être déclaré sous Linux puis sera récupéré par Samba qui doit faire la correspondance entre les systèmes Linux et Windows

Les utilisateurs sont gérés classiquement avec le fichier : /etc/samba/smbpasswd

(d'autres méthodes sont possibles : Annuaire, tdb (trivial data base), NIS)


Samba26

SAMBA

  • Une fois l'utilisateur Linux créé :

    useradd nom_user –m

  • Ajouter cet utilisateur dans le fichier smbpasswd en exécutant la commande :

    smbpasswd -a nom_user mot_de_passe

    -d pour désactiver ; -e pour activer

    (voir les autres options dans l'aide)


Samba27

SAMBA

  • Exemple de fichier smbpasswd :

    # This file is the authentication source for Samba if 'passdb backend' is set

    # to 'smbpasswd' and 'encrypt passwords' is 'Yes' in the [global] section of # /etc/samba/smb.conf

    # See section 'passdb backend' and 'encrypt passwords' in the manual page of

    # smb.conf for more information.

    roger:2002:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A788C:

    keith:2004:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B17:

    pete:2003:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B24:

    john:2005:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[DU ]:LCT-477A7B4A:

  • Structure d'une ligne de ce fichier :

    nom_user : uid (de /etc/passwd) : mot de passe crypté (95/98/Me) : mot de passe crypté (NT/2000/XP) : flags : date de la dernière modification du mot de passe :

    Flags (11 caractères) : U utilisateur ; D utilisateur désactivé ; N utilisateur sans mot de passe ; W compte d'ordinateur


Samba28

SAMBA

Configuration du serveur Samba comme PDC d'un domaine :

[global]

domain master = yes

Ce serveur est un PDC

workgroup = pinball

Nom du domaine

netbios name = toundra

Nom netbios du serveur (par défaut le nom de la machine)

encrypt passwords = yes

Les mots de passe sont cryptés (obligatoire dans ce contexte - valeur par défaut)

passdb backend = smbpasswd

La gestion des utilisateurs se fait à l'aide du fichier /etc/samba/smbpasswd (valeur par défaut)

security = user

La sécurité se situe au niveau de l'utilisateur (obligatoire dans ce contexte). Les utilisateurs devront

fournir un login et un mot de passe à la connexion (autres valeurs : share, server, domain, ads)

domain logons = yes

Force Samba à offrir des ouvertures de session sur ce domaine (obligatoire dans ce contexte).


Samba29

SAMBA

Configuration du serveur Samba comme PDC d'un domaine :

[global]

local master = yes

Autorise Samba à participer aux élections de l'explorateur de réseaux

preferred master = yes

Ce serveur est l'explorateur de réseau préféré. Il provoque une élection d'explorateur en

démarrant

os level = 255

Définit le niveau de candidature de ce serveur lors d'une élection d'un maître d'exploration (valeur

par défaut 20). Attention s'il existe plusieurs serveurs sur le réseau.

server string = Samba %v sur %L

Commentaire pour décrire ce serveur

time server = yes

Fournit au client une synchronisation horaire SMB


Samba30

SAMBA

Configuration du serveur Samba comme PDC d'un domaine :

[global]

host allow = 172.16. EXCEPT 172.16.42.15

Permet d'autoriser certains réseau, ici le réseau 172.16.0.0 (attention au point final) – Par défaut le

réseau auquel appartient le serveur. La clause EXCEPT permet d'écarter des machines de cette

autorisation. Il existe également sur le même schéma "host deny = …"

log level = 1

Niveau de détail des messages dans les fichiers log (valeur par défaut 1)

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

Emplacement et nom du fichier trace

max log file = 4000

Taille du fichier log en kilo-octets (valeur par défaut : 5000)

Notes : Il existe d'autres options en fonction du rôle joué par le serveur (voir documentation).

Des options sont obligatoires et d'autres facultatives ; ces dernières sont calculées en fonction des options obligatoires.


Samba31

SAMBA

Joindre un domaine géré par un PDC Samba

Comme avec un serveur Windows, pour que les utilisateurs puissent se connecter sur le domaine*, il faut créer un compte pour la machine sur ce domaine.

Opération préliminaire. L'administrateur Linux (root) doit être administrateur de Samba :

smbpasswd –a root

* Cette opération ne concerne que les systèmes NT/2000/XP/Vista


Samba32

SAMBA

Création manuelle du compte d'ordinateur

(comme pour l'utilisateur ce compte doit apparaître au niveau du système)

useradd A28-10$ –g nogroup –c "Compte machine" –s /bin/false

(Le symbole $ pour distinguer ce type de compte)

smbpasswd –a –m A28-10$

(-m pour indiquer qu'il s'agit d'un compte d'ordinateur)

Création automatique

Mettre dans la section [global]

add machine script = /usr/sbin/useradd %m\$ –g nogroup –c "Compte machine" –s /bin/false


Samba33

SAMBA

Résultats :

Dans le fichier /etc/passwd (extrait)

root:x:0:0:root:/root:/bin/bash

roger:x:2002:100::/home/roger:/bin/bash

pete:x:2003:100::/home/pete:/bin/bash

keith:x:2004:100::/home/keith:/bin/bash

john:x:2005:100::/home/john:/bin/bash

A28-10$:x:2006:65534:Compte machine:/home/A28-10$:/bin/false

Dans le fichier /etc/samba/smbpasswd

roger:2002:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A788C:

keith:2004:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B17:

pete:2003:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B24:

john:2005:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[DU ]:LCT-477A7B4A:

root:0:9D3BAFFBC37BE6B8AAD3B435B51404EE:996D2A2C29AA30DA496BF533E319C106:[U ]:LCT-477CDAD1:

A28-10$:2006:XXXXXXXXXXXXXXXXXXXXXXXXXXX:C53B83F84A6893C8E141D0784394FB89:[W ]:LCT-477D2364:


Samba34

SAMBA

Joindre le domaine depuis un client XP :


Samba35

SAMBA

Résultat dans l'explorateur :


Samba36

SAMBA

Configuration de smb.conf pour des répertoires personnels

Dans cet exemple, les répertoires personnels Samba sont les répertoires personnels Linux créés lors de la création de l'utilisateur (useradd … -m). Donc ici pas de problème de droit.

[glogal]

logon drive = U:

Lettre affectée au répertoire personnel

[homes]

comment = Répertoire personnel de %u

Commentaire (%u = Nom de l'utilisateur)

browseable = no

N'apparaît pas dans l'explorateur

read only = no

N'est pas en lecture seule


Samba37

SAMBA

Configuration de smb.conf pour des répertoires personnels

[homes]

writeable = yes

Autorise l'écriture dans le partage (idem : writable et write ok)

Inverse de "read only"

guest ok = no

Accès public interdit

create mask = 0700

Définition du masque pour la création des fichiers

directory mask = 0700

Définition du masque pour la création des répertoires

inherit acls = yes

Le fichier ou le répertoire créé hérite des droits du père.


Samba38

SAMBA

Configuration de smb.conf pour des scripts de connexion

[global]

logon script = connect.vbs

Nom du script situé dans le path figurant dans le partage [netlogon]

Il s'agit ici d'un script collectif. Il est possible de personnaliser un

script pour chaque utilisateur avec "logon script = %u.vbs" ou selon

l'appartenance au groupe primaire avec "logon script = %g.vbs"

[netlogon]

path = /repsamba/connexion

Répertoire où sont situés les scripts. Les utilisateurs Samba doivent

un droit en lecture sur ce répertoire.

writeable = no

Ecriture impossible

browseable = no

N'apparaît pas dans l'explorateur


Samba39

SAMBA

Application avec le fichier "connect.vbs :

On Error Resume Next

set WshNet=CreateObject("Wscript.NetWork")

WshNet.RemoveNetWorkDrive "S:"

WshNet.MapNetworkDrive "S:", "\\Toundra\Echange",false

Set WshNet=Nothing


Samba40

SAMBA

Configuration de smb.conf pour des partages collectifs

Présentation de l'exemple :

  • Les utilisateurs

    roger:x:2002:2001::/home/roger:/bin/bash

    pete:x:2003:2001::/home/pete:/bin/bash

    keith:x:2004:2000::/home/keith:/bin/bash

    john:x:2005:2000::/home/john:/bin/bash

  • Les groupes

    usersamba:!:2000:roger,pete,john,keith

    leaders:!:2001:roger,pete

    members:!:20022:keith,john


Samba41

SAMBA

Configuration de smb.conf pour des partages collectifs

  • Structure visée

    /repsamba

    connexionPropriétaire "root" ; en lecture pour tous

    echangePropriétaire "root" ; en lecture/écriture

    pour le groupe "leaders"

    docEn lecture/écriture pour "roger"

    (propriétaire). En lecture seule pour le

    groupe "members" et "pete"


Samba42

SAMBA

Configuration de smb.conf pour des partages collectifs

  • Les droits Linux

    drwxr-xr-x 5 root root 128 Jan 4 17:03 .

    drwxr-xr-x 23 root root 568 Jan 6 2008 ..

    drwxr-xr-x 2 root root 112 Jan 6 10:52 connexion

    drwxr-x--- 2 roger usersamba 48 Jan 6 11:12 doc

    drwxrwx--- 3 root leaders 152 Jan 3 14:12 echange

  • Fichier de smb.conf

    [echange]

    path = /repsamba/echange

    comment = Répertoire pour le groupe "leaders"

    browseable = yes

    writeable = yes

    valid users = @leaders


Samba43

SAMBA

Configuration de smb.conf pour des partages collectifs

[doc]

path = /repsamba/doc

comment = Répertoire en consultation

browseable = yes

writeable = no

valid users = @usersamba

[admindoc]

path = /repsamba/doc

comment = administration du partage "doc"

browseable = no

writeable = yes

valid users = roger


Samba44

SAMBA

Droits Samba/Linux/Windows

  • Le fichier "testfic.txt" sous Linux

  • rwxr- -r - - 1 roger leaders 4 Jan 6 11:30 testfic.txt

  • Sa vision sous Windows


Samba45

SAMBA

Droits Samba/Linux/Windows

L'accès à un partage par un utilisateur :

  • Doit d'abord satisfaire aux exigences de Samba ("writeable = no" ou "… = yes", "valid users = …")

  • Puis dans un second temps être autorisé par les permissions du système Unix (ou Linux)


Samba46

SAMBA

L'outil swat

Un outil graphique permet de gérer un serveur Samba à partir d'un navigateur sous le port 901.


  • Login