Partage de fichiers sous Linux avec SAMBA

sudo yum install samba

Samba utilise la configuration présente dans le fichier /etc/samba.smb.conf. A chaque modification il sera nécessaire de redémarrer le service Samba pour que les modifications soient prises en compte :

sudo service smb restart

Configuration générale

Ci-dessous, un exemple de configuration de paramétrage du service, de manière globale.

[global]
        workgroup = workgroup
        netbios name = srv05
        server string = serveur $h (Samba %v, Fedora)
        log file = /var/log/samba/log.%m
        max log size = 50
        hide files = /lost+found/
        dns proxy = no
        security = USER

L'option security = USER impose deux choses que nous allons traiter ci-dessous :

  1. avoir un compte Linux
  2. avoir un compte Samba

Les utilisateurs des dossiers partagés auront un groupe commun : sambausers

Créer un groupe

Dans cet exemple, je créé un groupe nommé sambausers.

sudo groupadd sambausers

Créer un compte Linux

On peut créer un compte utilisateur qui n'a pas besoin ni de se connecter à un shell, ni avoir un dossier de travail personnel. Prenons l'exemple de fanny :

sudo useradd --s /bin/false -d /dev/null -g sambausers fanny

On remarquera que le shell se nomme /bin/false et le dossier personnel pointe vers dev/null.

Ajouter un utilisateur à un groupe

Si l'utilisateur Jean a déjà un compte Linux, on pourra lui ajouter le groupe sambausers grâce à la commande usermod.

sudo usermod -aG sambausers jean

Création d'un utilisateur Samba

Avec l'option USER, les utilisateurs Linux doivent avoir un compte Samba. On utilise la commande pdbedit.

sudo pdbedit -a jean

On peut également utiliser la commande smbpasswd pour gérer uniquement les mots de passe. Par exemple :

sudo smbpasswd -a jean
sudo smbpasswd -e jean

Configuration spécifique : partage de dossier

Pour créer un dossier partagé sous Linux, il faut ajouter une section dans le fichier /etc/samba/smb.conf.

[media]
        browsable = yes
        comment = Disques DATA partages
        path = /media
        writable = yes
        create mask = 0765
        hosts allow = 127.0.0.1 192.168.100.0/24
        valid users = @sambausers

Dans cet exemple :

[media] Le partage va s'appeler media
comment = Disques DATA partages Permet d'afficher des commentaires
path = /media Chemin d'accès au dossier sur le serveur Linux
writable = yes
create mask = 0765
hosts allow = 127.0.0.1 192.168.100.0/24
valid users = @sambausers Tous les utilisateurs ayant le groupe sambausers pourront utiliser cette ressource.

A chaque modification de la configuration SAMBA, par le fichier /etc/samba/smb.conf, il faut tester le configuration et appliquer les changements au service.

testparm -s
sudo service smb restart

Ne pas oublier de modifier le parfeu afin qu'il accepte les connexions entrantes pour le service Samba : 139, 445, 137 et 138.

Radicalement, on peut également désactiver le parfeu :

sudo systemctl stop firewalld.service

Il faut automatiser le démarrage du service Samba au démarrage de l'ordinateur. Utiliser le Service Configuration (system-config-services).

Lister les ressources disponibles

smbclient -L //localhost -U fanny

Se connecter à une ressource

smbclient //localhost/media -U fanny
  • cfp/installer_un_serveur_de_partage_de_fichiers/samba.txt
  • Dernière modification: 2019/06/04 00:03
  • par Cedric ABONNEL