Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

smb.conf : exemple et configuration

Samba est un logiciel de partage de fichiers compatibles avec le protocole SMB.
Son principal fichier de configuration est smb.conf qui se trouve pour les distributions Ubuntu, Linux, Mint dans /etc/samba/smb.conf.
Dans ce dernier, vous pouvez définir les paramètres globaux de Samba mais aussi créer les partages réseaux ou imprimante.

Ce tutoriel vous donne plusieurs exemples de configuration du fichier smb.conf.
De quoi faciliter les mise en place et la configuration de Samba.

smb.conf : exemple et configuration

smb.conf : les options importantes

Dans Samba, toutes les sections sont déclarées entre crochets (et en dehors du mot réservé [global], toutes les autres sections désignent le nom d’un partage.

Les paramètres globaux

La section [global] contient l’ensemble des paramètres globaux de configuration du serveur Samba.
On y trouve donc les paramètres du serveur.

Voici un exemple de fichier smb.conf lorsque samba fonctionne en mode groupe de travail (WORKGROUP) :

[global]
   workgroup = WORKGROUP
   netbios name = ServeurFichier
   hosts allow = 10.8.0.0. 127.      
   security = share
  • workgroup : Ce paramètre contrôle le groupe de travail dans lequel votre serveur apparaîtra lorsqu’il sera interrogé par des clients. Notez que ce paramètre contrôle également le nom de domaine utilisé avec le paramètre security = domain.
  • netbios name : Ceci définit le nom NetBIOS par lequel un serveur Samba est connu. Par défaut, il est identique au premier composant du nom DNS de l’hôte. Si une machine est un serveur de navigation ou un serveur de connexion, ce nom (ou le premier composant du nom DNS de l’hôte) sera le nom sous lequel ces services sont annoncés
  • hosts allow : Ce paramètre est un ensemble d’hôtes délimité par des virgules, des espaces ou des tabulations qui sont autorisés à accéder à un service

Voici un autre exemple de la section [global] du fichier smb.conf lorsque Samba agit en tant que contrôleur de domaine (PDC).

    [global]
            netbios name = DC1
            realm = MAKDOMAINE.LOCAL
    
            workgroup = MAKDOMAINE
            dns forwarder = 1.1.1.1
            server role = active directory domain controller
            server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
            idmap_ldb:use rfc2307 = yes
    • realm : Spécifie le domaine kerberos à utiliser. Le domaine est utilisé comme l’équivalent ADS du domaine NT4. Elle est généralement définie par le nom DNS du serveur kerberos
    • dns forwarder : La liste des serveurs DNS vers lesquels les requêtes DNS seront transférées si elles ne peuvent pas être traitées par Samba lui-même
    • server role : Le rôle définit par Samba
      • server role = auto (défaut), ce qui fait que Samba fonctionne selon le paramètre de sécurité, ou si ce n’est pas spécifié comme un simple serveur de fichiers qui n’est connecté à aucun domaine
      • server role = standalone
      • server role = member server qui permettent de joindre Samba à un domaine Windows
      • server role = domain controller qui exécute Samba en tant que contrôleur de domaine Windows
    • server services : Cette option contient les services que le démon Samba exécutera

    Définition des partages

    Voici un exemple de partage d’un dossier du fichier smb.conf :

    [public]
       comment = Dossier public
       path = /home/samba/public
       browseable = yes
       public = yes
       writable = yes
       encrypt passwords = yes
    • path : Ce paramètre indique un répertoire auquel l’utilisateur du service doit avoir accès. Dans le cas des services d’impression, il s’agit de l’endroit où les données d’impression seront mises en spoule avant d’être soumises à l’hôte pour l’impression. Ce paramètre prend en charge des variables
    • writable : Rendre le partage en lecture seule ou non
    • browseable : Ceci contrôle si cette action est vue dans la liste des actions disponibles dans une vue nette et dans la liste de navigation
    • comment : Il s’agit d’un champ de texte qui s’affiche à côté d’un partage lorsqu’un client interroge le serveur, soit via le voisinage réseau, soit via la vue réseau, pour répertorier les partages disponibles
    • guest only ou public : Si ce paramètre a la valeur “yes” pour un service, alors seules les connexions d’invités au service sont autorisées. Ce paramètre n’aura aucun effet si la valeur guest ok n’est pas définie pour le service
    • encrypt passwords : Ce paramètre est déprécié depuis Samba 4.11 et le support du texte en clair (distinct de l’authentification NTLM, NTLMv2 ou Kerberos) sera supprimé dans une prochaine version de Samba
    • force create mode : Ce paramètre spécifie un ensemble de permissions de bits de mode UNIX qui sera toujours défini sur un fichier créé par Samba. Cela se fait en faisant un OU bit à bit de ces bits sur les bits de mode d’un fichier en cours de création. La valeur par défaut de ce paramètre est (en octal) 000. Les modes de ce paramètre sont mis en relation par OU bit à bit avec le mode du fichier après l’application du masque défini dans le paramètre create mask
    • force directory mode : Ce paramètre spécifie un ensemble de permissions de bits de mode UNIX qui sera toujours défini sur un répertoire créé par Samba. Cela se fait en faisant un OU bit à bit de ces bits sur les bits de mode d’un répertoire en cours de création. La valeur par défaut de ce paramètre est (en octal) 0000, ce qui n’ajoutera pas de bits de permission supplémentaires à un répertoire créé. Cette opération est effectuée après l’application du masque de mode dans le paramètre masque de répertoire

    Définir le min/max protocol de SMB

    La section [global] du fichier smb.conf vous permet aussi de définir les versions utilisées par le protocole SMB.
    Les versions de SMB sont décrites dans ce tutoriel complet : Le protocole SMB (Server Message Block) : fonctionnement et versions

    Normalement, cette option ne devrait pas être définie car la phase de négociation automatique du protocole SMB se charge de choisir le protocole approprié.
    Mais si vous avez besoin de fixer la version, utilisez les options min protocol et max protocol.

    min protocol = SMB2
    max protocol = SMB2

    Les valeurs SMB3 :

    • SMB3 : Le même que SMB2. Utilisé par Windows 8. SMB3 a des sous-protocoles disponibles
    • SMB3_00 : Version SMB3 de Windows 8. (essentiellement la même que SMB2_24)
    • SMB3_02 : version SMB3 de Windows 8.1
    • SMB3_10 : version SMB3 de l’aperçu technique de Windows 10
    • SMB3_11 : Version SMB3 de l’aperçu technique de Windows 10 (peut-être finale)

    Par défaut, SMB3 sélectionne la variante SMB3_11.

    Les valeurs SMB2 :

    • SMB2 : Ré-implémentation du protocole SMB. Utilisé par Windows Vista et les versions ultérieures de Windows.
    • SMB2_02 : La première version de SMB2
    • SMB2_10 : Version SMB2 de Windows 7

    Par défaut, SMB2 sélectionne la variante SMB2_10.

    Les anciennes valeurs :

    • CORE : Version la plus ancienne. Pas de concept de nom d’utilisateur
    • COREPLUS : Légères améliorations de CORE pour l’efficacité
    • LANMAN1 : Première version moderne du protocole. Support des noms de fichiers longs
    • LANMAN2 : Mises à jour du protocole Lanman1
    • NT1 : Version actuelle et moderne du protocole. Utilisé par Windows NT. Connu sous le nom de CIFS

    La valeur par défaut est SMB3_11.

    smb.conf : exemple de configuration

    Samba en contrôleur de domaine

    Pour configurer Samba en mode contrôleur de domaine.

    [global]
            netbios name = DC1
            realm = MAKDOMAINE.LOCAL
    
            workgroup = MAKDOMAINE
            dns forwarder = 1.1.1.1
            server role = active directory domain controller
            server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
            idmap_ldb:use rfc2307 = yes

    Partage public (guest)

    Voici un exemple de partage de fichiers en public ou invite :

    [public]
    path = /home/share
    guest ok = no
    guest only = yes
    writable = yes
    force create mode = 0666
    force directory mode = 0777
    browseable = yes

    Partage d’imprimante

    [Imprimante1]
    comment = HP LaserJet Pro M203dw
    browseable = yes
    printable = yes
    print command = /usr/bin/lpr -P%p -r %s
    printer = netprinter
    printing = BSD
    path = /var/spool/samba

    Exemple de partage en spécifiant les utilisateurs

    Voici un partage avec security = share.
    Dans cette configuration, chaque partage du groupe de travail est associé à un ou plusieurs mots de passe.
    Toute personne qui connaît un mot de passe valide pour le partage peut y accéder.

    [global]
            security = share
    [accounting1]
            path = /home/samba/share
            guest ok = no
            writable = yes
            username = kevin, vincent, pierre

    Ici, lorsqu’un utilisateur tente de se connecter à un partage, Samba vérifiera le mot de passe qui a été envoyé par rapport à chacun des utilisateurs de sa propre liste, en plus des mots de passe des utilisateurs kevin, vincent, et pierre. Si l’un des mots de passe correspond, la connexion sera vérifiée et l’utilisateur sera autorisé. Sinon, la connexion au partage spécifique échouera.

    Utiliser username map

    Les noms d’utilisateur des clients sur un réseau SMB peuvent être relativement grands (jusqu’à 255 caractères), alors que les noms d’utilisateur sur un réseau Unix ne peuvent souvent pas dépasser huit caractères.
    Cela signifie qu’un utilisateur individuel peut avoir un nom d’utilisateur sur un client et un autre (plus court) sur le serveur Samba. Vous pouvez contourner ce problème en faisant correspondre un nom d’utilisateur client de forme libre à un nom d’utilisateur Unix de huit caractères ou moins.
    Il est placé dans un fichier texte standard, en utilisant un format que nous décrirons bientôt. Vous pouvez ensuite spécifier le chemin d’accès à Samba avec l’option global username map. Veillez à restreindre l’accès à ce fichier ; faites de l’utilisateur root le propriétaire du fichier et refusez l’accès en écriture aux autres. Sinon, un utilisateur non autorisé qui peut accéder au fichier peut facilement faire correspondre son nom d’utilisateur client à l’utilisateur root du serveur Samba.

    Vous pouvez spécifier cette option comme suit :

    [global]
    username map = /etc/samba/usermap.txt

    Chacune des entrées du fichier de mappage des noms d’utilisateur doit être listée comme suit : le nom d’utilisateur Unix, suivi d’un signe égal ( =), suivi d’un ou plusieurs noms d’utilisateur de clients SMB séparés par des espaces.
    Notez que, sauf instruction contraire (c’est-à-dire une connexion d’invité), Samba s’attend à ce que le client et l’utilisateur du serveur aient le même mot de passe. Vous pouvez également faire correspondre des groupes NT à un ou plusieurs groupes Unix spécifiques en utilisant le signe @. Voici quelques exemples :

    jarwin = JosephArwin
    manderso = MarkAnderson
    users = @account

    L’article smb.conf : exemple et configuration est apparu en premier sur malekal.com.

    Enregistrer un commentaire

    0 Commentaires