Etape 8 – Le partage de fichier : SAMBA (Compatible Time Machine)

Etape 8 – Le partage de fichier : SAMBA (Compatible Time Machine)

Vous êtes ici :
Article 11/12 de la série suivante :

1. Introduction

Samba est incontournable si vous souhaitez que votre serveur partage des fichiers sur le réseau (tant avec machines sous windows que sous mac).

2. Installation

apt install --yes samba

Et voilà c’est tout 🙂 (vive debian !)

3. Configuration

3.1 Pré-requis

3.1.1 Création d’un groupe de partageur

Je vous conseille de créer un groupe d’utilisateur pour vous faciliter la configuration des utilisateurs :

addgroup sambagrp --gid 5000

Et on ajoute les utilisateurs que l’on souhaite dedans :

adduser lulu sambagrp
3.1.2 – Répertoire /serveur/samba

On créé le répertoire où l’on va stocker les fichiers en partage :

mkdir /serveur/samba
chown root:root /serveur/samba
Pour limiter l’espace disque du repertoire de la sauvegarde Time Machine vous pouvez faire un dataset comme ceci :

zfs create rpool/serveur/samba
zfs set quota=500M rpool/serveur/samba

On créé les répertoires pour chacun des partages (pour l’exemple) :

mkdir /serveur/samba/perso /serveur/samba/partage /serveur/samba/matimemachine
chown lulu:sambagrp /serveur/samba/*
chmod 750 /serveur/samba/*
chmod u+s /serveur/samba/*
chmod g+s /serveur/samba/*
Si vous avez déjà un répertoire et que vous voulez remettre les autorisations comme il faut :

chown lulu:sambagrp -R * && find . -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw,g+rw && find . -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwxs,g+rwxs

3.2 Fichier /etc/samba/smb.conf

[global]
        workgroup = WORKGROUP
        server string = MonServeur

        obey pam restrictions = yes
        passdb backend = tdbsam
        unix password sync = yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        pam password change = yes

        log file = /var/log/samba/log.%m
        max log size = 1000
        panic action = /usr/share/samba/panic-action %d

        interfaces = 192.168.0.0/24 eno2
        bind interfaces only = yes
        dns proxy = no
        server role = standalone server

        load printers = no
        printing = bsd
        printcap name = /dev/null
        disable spoolss = yes

        wins support = yes
        domain master = Yes
        os level = 65

       # Time Machine                                                                                                                                                                                       
        vfs objects = catia fruit streams_xattr
        fruit:model = MacPro
        fruit:aapl = yes
        fruit:resource = xattr
        fruit:encoding = native
        fruit:metadata = stream

        socket options = TCP_NODELAY IPTOS_LOWDELAY

[Perso]
        comment = Mes fichiers
        path = /serveur/samba/perso
        valid users = lulu, soso
        read list = lulu, soso
        write list = lulu
        force group = sambagrp
        read only = No
        create mask = 0664
        force create mode = 0664
        directory mask = 0775
        force directory mode = 0775

[Partage]
        comment = Du partage
        path = /serveur/samba/partage
        valid users = lulu, soso
        write list = lulu, soso
        force group = sambagrp
        read only = No
        create mask = 0664
        force create mode = 0664
        directory mask = 0775
        force directory mode = 0775

[MaTimeMachine]
        comment = Ma Time Machine 
        path = /serveur/samba/matimemachine
        valid users = lulu
        write list = lulu
        force group = lulu
        browsable = yes
        writable = yes
        create mode = 0600
        directory mode = 0700
        fruit:time machine = yes
        durable handles = yes
        kernel oplocks = no
        kernel share modes = no
        posix locking = no

4. Commandes pratiques

4.1 Ajout des utilisateurs

smbpasswd -a lulu

4.2 Listing des utilisateurs

pdbedit -L -v

4.3 Status

smbstatus

4.4 Redémarrer le serveur

systemctl restart smbd
systemctl restart nmbd

5. Avahi

​Avahi est un logiciel libre qui facilite la découverte automatique des services et des hôtes sur un réseau local sans nécessiter de configuration manuelle. Il permet aux appareils connectés de s’identifier et de détecter les services disponibles, tels que les imprimantes, les partages de fichiers ou les sessions de messagerie, simplifiant ainsi l’interaction entre les dispositifs sur le réseau (Multicast / Zeroconf). C’est dans mon installation essentiel pour que le partage TimeMachine soit reconnu.

5.1 Installation des paquets

Il faut donc l’installer :

apt update
apt install avahi-daemon avahi-utils

5.2 Fichier /etc/avahi/avahi-daemon.conf

[server]
host-name= MonServeur
domain-name=local
use-ipv4=yes
use-ipv6=no
allow-interfaces=eth0
disallow-other-stacks=no
ratelimit-interval-usec=1000000
ratelimit-burst=1000

[wide-area]
enable-wide-area=yes

[publish]
publish-addresses=no
publish-hinfo=no
publish-workstation=no

[reflector]
enable-reflector=no

[rlimits]

5.2 Fichier /etc/avahi/hosts

1.2.3.4 Monserveur.local

Remplacer 1.2.3.4 par l’adresse IP du serveur

6. Si erreur du type « samba-ad-dc.service: Skipped due to ‘exec-condition’. »

Pour une raison étrange, Debian s’attends à ce que Samba soit utilisé en mode contrôleur de domaine.

Il faut donc désactiver ad-dc et réactiver nos bons vieux smbd et nmbd

systemctl disable --now samba-ad-dc
systemctl enable --now smbd nmbd
systemctl status smbd nmbd

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.