Serveur de fichier sous Ubuntu 18.04

Pour la mise en place d’un service de partage de fichier sous Linux, j’ai dû naviguer sur plusieurs sites. Je vais donc regrouper ici les actions nécessaires pour la mise en place de Samba avec authentification sur un serveur Ubuntu 18.04.

Mon but dans la mise en place de ce service est de pouvoir éditer les fichiers de configuration de Home Assistant depuis mon PC Windows.

Installation

En plus de samba, on installe le package libpam-winbind pour gérer l’authentification.

sudo apt update
sudo apt install samba libpam-winbind

Configuration

Le fichier de configuration est ici : /etc/samba/smb.conf

Dans ce fichier la première chose à faire et de préciser qu’on va utiliser un couple user/mdp pour ce service. On ajoute aussi un attribut qui va nous permettre d’utiliser les liens symboliques. Pour cela, on ajoute les lignes suivantes dans le bloc « [global] » :

# Pour les liens symbolique
   allow insecure wide links = yes
# Pour l'authentification
   security = user

J’ai ensuite mis en commentaire l’intégralité des blocs « [printers] » et « [print$] » car je n’en ai pas besoin.

On spécifie donc notre partage de la manière suivante :

[share]
   comment = Partage Serveur
   path = /srv/samba/share
   browsable = yes
   guest ok = no
   read only = no
   create mask = 0755
   follow symlinks = yes
   wide links = yes

On crée ensuite le dossier et l’on rend l’utilisateur « nobody » propriétaire du dossier.

sudo mkdir -p /srv/samba/share
sudo chown nobody:nogroup /srv/samba/share

Il convient maintenant d’associer un compte Linux existant aux comptes Samba :

sudo smbpasswd -a solidsnake

On renseigne le mot de passe de l’utilisateur (il doit être le même que celui de sa session) et l’on relance le service.

sudo systemctl restart smbd.service

Vous devriez être en mesure d’accéder au partage en tapant deux antislash suivis de l’adresse IP de votre serveur (ou son nom si vous avez un serveur de nom). En ouvrant le dossier « share », on vous demande une authentification. Utiliser donc le compte que l’on a configuré juste avant.

Demande d’authentification

Vous remarquerez que vous n’êtes pas en mesure de créer des fichiers dedans via l’explorateur Windows.

Pour y remédier, je vais créer un groupe qui sera propriétaire du dossier et y inclure mon utilisateur.

sudo addgroup mongroupesamba
sudo chown :mongroupesamba /srv/samba/share
sudo chmod g+rwx /srv/samba/share/
sudo usermod -a -G mongroupesamba solidsnake

sudo systemctl restart smbd.service

Ainsi, vous devriez être en mesure de créer des fichiers dans ce dossier.

Dossier de configuration sur le partage

Comme préciser au début du tutoriel, je souhaite pouvoir accéder à mon dossier de configuration de Home Assistant en Samba. Pour cela, je vais ajouter mon utilisateur homeassistant dans le groupe et crée un lien symbolique dans le dossier share pour accéder au dossier de configuration.

sudo usermod -a -G mongroupesamba homeassistant
cd /srv/samba/share/
sudo ln -s /home/homeassistant/.homeassistant/ HA_config

Je me retrouve donc avec un dossier HA_config dans l’arborescence de mon partage de fichiers. En l’ouvrant, j’accède directement au dossier /home/homeassistant/.homeassistant.

À ce niveau, je ne pouvais modifier les fichiers de configuration. J’ai alors ajouté mon utilisateur au groupe de Home Assistant (qui s’appelle comme l’utilisateur : homeassistant ) et redémarrer le service Samba. Cela est rendu possible, car le groupe a les droits d’écriture sur les fichiers de configuration.

sudo usermod -a -G homeassistant solidsnake
sudo systemctl restart smbd.service

Conclusion

J’ai donc trouvé un moyen de venir à mes fins.

Pour la dernière partie, je ne sais pas si j’ai fait les choses comme il le faut. En tout cas, il y a bien seulement mon utilisateur qui peut éditer les fichiers de configuration.

TAGS: ,

Laisser un commentaire

Your email address will not be published. Required fields are marked (required)