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

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

Vous êtes ici :
Article 10/11 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). D’ailleurs Samba tend à remplacer dernièrement Netatalk (qui était dédié au protocole AFP en cours d’abandon par Apple).

2. Installation

2.1 Ajout de mon dépôt (ou bonjour la galère)

Après recherche intense, la seule façon de faire fonctionner Debian Stretch avec la Time Machine d’Apple est d’avoir la version au minimum 4.8.

Cette version est actuellement disponible en « experimental » pour Debian.

J’ai donc repris ces paquets & quelques autres dépendances sur mon dépôt perso. L’avantage c’est que vous n’avez pas à compiler depuis les sources et casser votre distribution.

  • On ajoute donc cette ligne à la suite des lignes déjà existantes dans le fichier /etc/apt/sources.list :
# DrGeek
deb http://deb.drgeek.fr/stretch/tevent ./
deb http://deb.drgeek.fr/stretch/talloc ./
deb http://deb.drgeek.fr/stretch/ldb ./
deb http://deb.drgeek.fr/stretch/tdb ./
deb http://deb.drgeek.fr/stretch/samba ./
  • Ou alors vous êtes devenus fan et vous voulez tous mes paquets : :
# DrGeek
deb http://deb.drgeek.fr stretch/

2.2 Installation des paquets

apt install --yes samba smbclient

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 :

addgroup 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
Pour que Time Machine fonctionne la première fois sur High Sierra j’ai dû faire une manipulation étrange (trouvée sur un forum apple) :
– Ouvrir le partage Time Machine dans le Finder
– Cliquer sur le nouveau disque dans le panneau de configuration
– Déconnecter le partage dans le Finder
– Supprimer la clé dans le trousseau
– S’authentifier dans le panneau de configuration de la Time Machine
– Et hop ça fonctionne…

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.