« Le système d'exploitation GNU-Linux/Le partage de fichiers Samba » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 76 : Ligne 76 :
writable = yes ou no (selon qu'on autorise ou pas l'écriture, par exemple no pour un cdrom et yes pour un répertoire partagé en écriture)
writable = yes ou no (selon qu'on autorise ou pas l'écriture, par exemple no pour un cdrom et yes pour un répertoire partagé en écriture)
public = yes ou no (yes si on désire un partage anonyme, no sinon)
public = yes ou no (yes si on désire un partage anonyme, no sinon)
valid users = invite (utilisateurs valides pour le partage)
create mask = 0644 (masque de creation de fichiers)
directory mask = 0755 (masque de création de répertoires)

il faut ensuite créer l'utilisateur "invité":
# adduser --shell /bin/false --disabled-login invite
créer ensuite une entrée dans le fichier /etc/samba/smbpasswd:
# smbpasswd -a invite
donner le mot de passe correspondant
créer le(s) dossier(s) de partage et le(s) donner à l'utilisateur
# mkdir <nom du dossier>
# chown invite <nom du dossier>






- Le partage par utilisateurs :
- Le partage par utilisateurs :(nous signalons ici seulement les différences par rapport à la configuration précédente)
[global]
security = user (partage par utilisateur)

Version du 6 février 2008 à 19:33

Implémentation du protocole SMB : SERVER MESSAGE BLOCK Service qui sert au partage de fichiers et de peripheriques sous Microsoft.

Site officiel : www.samba.org

samba lance deux services : SMBD et NMBD

(Le protocole SMB est tout sauf performant : il pollue le reseau par l'utilisation du broadcast)

- 3 cas de figures :

   1° cas : Login/Password
   2° cas : Anonymous
   3° cas : Partage avec un mot de passe


Pour installer:

  1. apt-get install samba smbclient smbfs

Fichier de configuration principal: /etc/samba/smb.conf

Pour tester la configuration:

  1. testparm analyse le fichier smb.conf et signale les erreurs éventuelles

Après avoir modifié la configuration, relancer le service:

  1. /etc/init.d/samba restart

Samba utilise les ports 137 (netbios name service, nbname, en UDP), 138 (netbios datagram service nbdatagram, en UDP), 139 (netbios session service, nbsession, en TCP), et 445 ("direct-hosted" tcp, en tcp et udp). La méthode de connexion traditionnelle smb utilise les ports 137, 138 et 139 tandis que la nouvelle méthode (CIFS, sur windows XP) n'utilise que le port 445.

Le fichier smb.conf se divise en différentes sections:

La section [global]:

 configuration globale de samba

La section [homes]:

 cette section particulière permet de remonter une ressource qui correspond au répertoire de travail (home directory) de l'utilisateur qui s'est authentifié.

On peut ensuite créer différentes sections, une par partage voulu.


Samba a 4 modes de fonctionnement:

  - mode partage par ressources
       [global]
        workgroup = "nom du groupe de travail"
        netbios name = "nom netbios du serveur"
        server string = "libellé sous lequel le serveur apparaitra"
        invalid users = "liste des utilisateurs interdits" (il est vivement conseillé d'interdire "root")
        log file = /var/log/samba/log.%m (par défaut un fichier de log est créé dans /var/log/samba pour chaque machine qui accède au partage)
        syslog = 0 (par défaut on n'écrit pas les logs dans syslog, pour éviter de polluer)
        security = share (signale qu'on fait un partage par ressource)
        encrypt passwords = true (on utlise des mots de passe encryptés, sauf pour w95 et w98a qui n'utilisent que des mots de passe en clair)
        socket options = TCP_NODELAY (accélère les transferts réseau)
        dns proxy = no (empêche le service nmbd de chercher à résoudre les noms netbios via le DNS
        guest account = "nom du compte qui va permettre de créer une ressource partagée par mot de passe"
         exemple : gest account = invite
        smb passwd file = /etc/samba/smbpasswd (emplacement du fichier contenant les logins et mots de passe samba)
        printing = cups (pour voir les imprimantes partagées par CUPS)
        la section [homes] est vide car on utilise le mode share
     pour partager une imprimante:
       [printers] 
        comment = Les imprimantes
        browsable = yes (pour afficher les imprimantes dans la liste des partages)
        path = /tmp (comme nous sommes dans le cas d'une imprimante, on indique l'emplacement des fichiers temporaires)
        printable = yes (spécifie qu'il s'agit d'une imprimante et non d'un répertoire)
        public = yes (pour partager l'imprimante de manière anonyme)
        writable = no (on ne peut pas écrire sur une imprimante!)
        create mode = 0700 (pour éviter qu'un utilisateur ne supprime les impressions d'un autre)
     pour partager un répertoire:
       [nom de partage]
        comment = "commentaire"
        path = "chemin du répertoire partagé"
        locking = no (si on veut empecher le blocage d'un fichier par un utilisateur)
        writable = yes ou no (selon qu'on autorise ou pas l'écriture, par exemple no pour un cdrom et yes pour un répertoire partagé en écriture)
        public = yes ou no (yes si on désire un partage anonyme, no sinon)
        valid users = invite (utilisateurs valides pour le partage)
        create mask = 0644 (masque de creation de fichiers)
        directory mask = 0755 (masque de création de répertoires)
     il faut ensuite créer l'utilisateur "invité": 
       # adduser --shell /bin/false --disabled-login invite
     créer ensuite une entrée dans le fichier /etc/samba/smbpasswd:
       # smbpasswd -a invite
     donner le mot de passe correspondant
     créer le(s) dossier(s) de partage et le(s) donner à l'utilisateur
       # mkdir <nom du dossier>
       # chown invite <nom du dossier> 
       


- Le partage par utilisateurs :(nous signalons ici seulement les différences par rapport à la configuration précédente)

     [global]
      security = user (partage par utilisateur)