SAMBA

24 septembre 2023

La gestion des propriétés des fichiers hébergés sous SAMBA pose un problème de cohérence.
La page pointée décrit la cause du problème et montre qu’il est impossible d’appliquer les règles de droits Linux à un environnement SAMBA.

14 août 2020

But : intégrer dans un client Linux un répertoire partagé par un serveur SAMBA.

Définition du répertoire à partager

Le but est de créer un partage SAMBA nommé « scans » dans le serveur.
Le chemin du répertoire est donné par la directive « path = »
La variable %U point l’utilisateur courant
Ajouter dans le fichier de configuration SAMBA les lignes suivantes
[scans]
comment = scanner directory
browseable = yes
guest ok = no
read only = no
path = /home/%U/Pictures/scan
valid users = (server user ID)
Redémarrer les services smbd et nmbd

Rendre le partage accessible au client

  • Idéalement le partage doit s’intégrer automatiquement dans l’arborescence du client, soit sur une mise sous tension soit par le passage de la commande
    sudo mount -a
  • Creer un fichier caché qui contient les paramètres de connexion.
    sudo vim /root/.smbcredentials
    et insérer les deux lignes suivantes
    username=<nom d’un utilisateur SAMBA Serveur valide>
    password=<mot de passe de cet utilisateur>
    Il est important que le UID client soit identique au nom utilisateur SAMBA.
    Le mot de passe SAMBA peut différer du mot de passe de l’utilisateur client SAMBA.
    Protéger ce fichier par la commande suivante
    sudo chmod 400 /root/.smbcredentials
  • Dans le client créer un répertoire sur lequel s’accrochera le partage.
    Ici le répertoire se nomme « picolo-scan »
    cd
    mkdir Pictures/picolo-scan
  • Dans le fichier du client repérer les uid et gid de l’utilisateur qui aura accès au partage.
    Info disponible dans le fichier /etc/passwd
    Par exemple paramètres pour l’utilisateur jlc
    jlc@jl-1804-lts:~$ cat /etc/passwd | grep jlc
    jlc:x:1000:100:Jean-Louis Cech,,,:/home/jlc:/bin/bash
    le uid=1000 / le gid=100
  • insérer dans le fichier /etc/fstab la ligne suivante
    //picolo/scans /home/jlc/Pictures/picolo-scan cifs credentials=/root/.smbcredentials,uid=1000,gid=100,rw,nounix,iocharset=utf8,file_mode=0600,dir_mode=0700 0 0
  • Pour connecter le partage à l’arborescence du client passer la commande suivante
    sudo mount -a
    ou redémarrer le client.
  • Une fois la connexion effective le répertoire partagé « picolo-scan » est disponible, par exemple avec l’explorateur de fichiers.