Etape 8 – Le partage de fichier : SAMBA (Compatible Time Machine High Sierra)
- Introduction
- Etape 1a – Installation – Boot EFI & ZFS on Debian (chez soi)
- Etape 1b – Installation Proxmox sur disque crypté (en datacenter)
- Etape 2 – Le firewall IPv4 : Shorewall
- Etape 3 – Le firewall IPv6 : Shorewall6
- Etape 4 – Le serveur DHCP : isc-dhcp-server
- Etape 5 – Le serveur DNS : Bind9
- Etape 6 – La base de données : MariaDB
- Etape 7 – Le serveur WEB : Nginx & SSL (Let’s Encrypt)
- Etape 8 – Le partage de fichier : SAMBA (Compatible Time Machine High Sierra)
- Etape 9 – Le serveur de MAIL : Postfix / Dovecot / Rspamd
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
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/*
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
– 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…