Samba
Samba est un protocole permettant d'accèder à un dossier situé sur un disque réseau. Il peut être configuré sous Mac, Windows ou Linux.
De nombreux tutorials existent pour configurer Samba sous windows ou sur un NAS type Synology, ici nous nous concentrons sur Debian.
Créer et configurer un dossier réseau partagé
/video d'une machine distant que nous appelerons machine-distante. Nous accéderons à ce dossier par la machine nommée machine-locale. L'utilisateur de connexion au disque réseau sera sambauser.Installer le serveur samba
sudo apt update && sudo apt upgrade
sudo apt install samba smbclient cifs-utils
Créer le dossier /video
sudo mkdir /video
Configuration du partage
Ensuite nous allons éditer le fichier /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
Localisez la variable workgroup et nommez votre workgroup, par exemple workgroup = WORKGROUP
Puis allez à la fin du fichier et collez la configuration suivante
[video]
comment = Dossier video
path = /video
writable = yes
guest ok = no
valid users = @smbshare
force create mode = 770
force directory mode = 770
inherit permissions = yes
Enregistrez avec Ctrl+O puis Entrée, puis quittez avec Ctrl+X.
Terminé !
Créer un utilisateur et un groupe pour Samba
Comme nous avons configuré un partage sécurisé, nous allons devoir créer un utilisateur et un groupe pour pouvoir y accéder à distance.
Créer le groupe
sudo groupadd smbshare
Nous allons maintenant permettre au groupe d'avoir le controle sur le dossier /video.
sudo chgrp -R smbshare /video
Et maintenant nous allons donner les permissions nécessaires aux dossiers et fichier hérités.
sudo chmod 2775 /video
Créer l'utilisateur
A présent nous allons ajouter un utilisateur nologin c'est à dire que cet utilisateur ne pourra pas se connecter sur le serveur pour faire des opérations, mais pourra tout de meme se connecter au service samba.
sudo useradd -M -s /sbin/nologin sambauser
Puis nous ajoutons l'utilisateur au groupe sambashare que nous avons créé précédemment.
sudo usermod -aG smbshare sambauser
Et nous allons configurer un mot de passe.
sudo smbpasswd -a sambauser
Activer le compte Samba
sudo smbpasswd -e sambauser
Terminé !
Accéder à un dossier partagé
Installer les paquets nécessaires
sudo apt update && sudo apt upgrade
sudo apt install cifs-utils
Créer le dossier de destination
Nous allons créer un dossier sur notre serveur sur lequel sera monté le dossier partagé de notre machine-distante. C'est à dire que dans ce dossier nous retrouverons le contenu du dossier partagé de notre machine-distante. Ici nous appellerons ce dossier /mnt/video.
sudo mkdir /mnt/video
Préparer le fichier .credentials
Afin de ne pas avoir systématiquement à rentrer notre utilisateur et mot de passe, nous allons créer un fichier .credentials stockant ces informations.
Nous allons le créer dans le dossier /smb.
sudo mkdir /smb
sudo nano /smb/.credentials
Configurez comme suit :
username=smbuser
password=motdepasse
smbuser: L'utilisateur que nous avons configuré sur lamachine-distantemotdepasse: Le mot de passe que nous avons configuré sur lamachine-distante
Enregistrez avec Ctrl+O puis Entrée, puis quittez avec Ctrl+X.
Nous allons modifier les permissions du dossier afin que seul le propriétaire puis lire et écrire dans ce fichier.
sudo chmod 600 /smb/.credentials
Monter le dossier partagé
sudo ufw allow from <ip-de-la-machine-distante> to any app Samba
A présent nous allons monter le dossier.
sudo mount -t cifs -o credentials=/smb/.credentials //ip-machine-distante/video /mnt/video
Remplacez ip-machine-distante par l'adresse IP de votre machine-distante
Vérifiez que cela a fonctionné en tapant :
sudo mount -t cifs
Vous verrez différentes informations qui confirmerons le succès du montage.
Et voilà, à présent vous accédez au dossier /video de votre machine-distante, depuis votre machine-locale !
(Optionnel) Automatiser le montage au démarrage
Par défaut, les dossiers partagés ne sont pas connectés automatiquement au redémarrage. Pour automatiser cet aspect, nous allons modifier le fichier /etc/fstab.
D'abord, sauvegardons notre fichier fstab.
sudo cp /etc/fstab /etc/fstab.bak
Puis nous allons ajouter une ligne à la fin du fichier comportant les informations de montages dans le fichier fstab.
sudo echo //ip-machine-distante/video /mnt/video cifs _netdev,nofail,credentials=/smb/.credentials,x-systemd.automount,x-systemd.device-timeout=15 0 0 >> /etc/fstab
Redémarrez.
sudo reboot
Une fois redémarré, vérifiez que le montage est correct
sudo mount -t cifs
Et voilà !
sudo umount -t cifs /mnt/video