Créer un partage de fichiers sous linux avec samba
Il est toujours pratique d’avoir la possibilité de partager des fichiers sur un réseau local, depuis sa machine, ou depuis un serveur dédié à cette tâche. Je vais vous présenter ma façon de faire afin de mettre en place un partage samba simple mais efficace. Je vais partir du principe que je partage un dossier dans mon répertoire utilisateur, mais la procédure reste la même pour un serveur qui ne ferait que ça, au final.
Dans un premier temps si ce n’est pas encore fait, il faudra installer le daemon samba :
apt-get install samba
Il nous faudra aussi un dossier à partager dans notre répertoire utilisateur, par exemple le dossier proposé de base sur debian : public. Ce dossier doit être en permissions 777 afin de laisser samba s’occuper des permissions et laisser les gens s’y connecter.
Petite optimisation des réglages généraux de base de notre serveur :
interfaces = 192.168.1.0/24 eth0 # On déclare l'interface part son nom ou par le réseau sur lequel elle écoute hosts deny = ALL # On interdit tout le monde pour mieux les autoriser après hosts allow = 192.168.1. # On autorise que notre réseau local (ou les machines, comme vous voulez) security = user map to guest = bad user # Niveau de sécurité par défaut : mauvais mdp = rejeté, username inconnu = guest bind interfaces only = yes # Permet de limiter le daemon aux interfaces précisées plus haut
Pour ce qui est de la directive security = user :
La sécurité au niveau de l'utilisateur est le choix par défaut pour Samba. Même si la directive security = user n'est pas présente dans le fichier smb.conf, elle est utilisée par Samba. Si le serveur accepte le nom d'utilisateur/mot de passe du client, ce dernier peut alors monter des partages multiples sans devoir saisir un mot de passe à chaque fois. Samba peut aussi accepter des requêtes nom d'utilisateur/mot de passe basées sur les sessions. Le client maintient des contextes d'authentification multiples grâce à l'utilisation d'un identifiant utilisateur unique (ou UID) pour chaque connexion. (source : site du mit)
Cette documentation est très complète, mais en html uniquement.
Quelques autres paramètres à prendre en compte pour débug plus facilement le service, les voici :
log file = /var/log/samba/log.%m # Le chemin + le nom du fichier de log max log size = 1000 # La taille max d'un fichier de log pour samba syslog = 0 # Indique si l'on veut tout mettre dans le fichier #+ de log de samba, ou en mettre un peu dans syslog #+ (avec une valeur plus haute que 0)
Suite à quoi nous pouvons définir les paramètres de notre dossier de partage :
[public] # le nom donné à notre partage comment = public share # Des commentaires sur notre partage qui peuvent être affichés suivant les outils utilisés pour y accèder browseable = yes # On indique qu'on peut le parcourir pour fouiller dedans path = /home/$USER/public # Le chemin vers notre dossier qui sera partagé guest ok = yes # Les gens invités (sans compte) sont-ils les bienvenu ? read only = no # Est-ce en lecture seule ? create mask = 0755 # Masque de création pour les utilisateurs authentifiés avec un compte directory mask = 0755 # Masque de création des dossiers pour les utilisateurs authentifiés avec un compte
Il ne nous reste plus qu’à relancer (restart ou reload) notre service samba :
service smbd restart && service nmbd restart Ou alors systemctl restart smbd.service && systemctl restart nmbd.service Ou encore : systemctl restart samba-ad-dc.service
Ce qui termine notre mise en place de notre partage via samba. N’oubliez pas de faire un tour sur le site de samba, celle de archlinux, ou encore lire la documentation du mit pour configurer d’avantage votre serveur de fichiers et répondre au mieux à vos attentes.