# [Debian] Serveur Samba

## Introduction

Le service **samba** est disponible sur les différentes distributions Linux et permet de partager des fichiers comme le ferait un serveur FTP par exemple mais permet la compatibilité native avec Windows ce qui est intéressant.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-10/scaled-1680-/6UBimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-10/6UBimage.png)

## Source

- [Tutoriel IT-Connect](https://www.it-connect.fr/serveur-de-fichiers-debian-installer-et-configurer-samba-4/)

## Installation

Commencez par installer le paquet **samba** :

```bash
sudo apt install -y samba
```

Puis configurez un partage :

```bash
nano /etc/samba/smb.conf
```

```
[<SHARE_NAME>]
   comment = Partage de données
   path = <SHARE_PATH>
   valid users = admin @LECTEURS
   guest ok = no
   read only = no
   browseable = yes
   create mask = 0664
   directory mask = 0775
   force group = LECTEURS
```

<p class="callout info">Cette configuration autorise un utilisateur **admin** (qui a les droits d'écriture) ainsi que les utilisateurs du groupe **LECTEURS** qui ont seulement les droits de lecture sur le partage). Vous pouvez bien sûr modifier cette configuration à souhait.</p>

D'ailleurs, pensez à vérifier que l'utilisateur est bien propriétaire du dossier du partage.

Définissez un mot de passe samba à votre utilisateur :

```bash
smbpasswd -a <USER>
```

Vous pouvez tester votre fichier de configuration grâce à la commande **testparm** :

```bash
testparm
```

Enfin, activez et démarrez le service samba :

```bash
systemctl enable --now smbd
```

## Monter un partage  


Ensuite ce qui est intéressant c'est de monter le partage que l'on vient de créer sur le client qui va l'utiliser.

Tout d'abord, installez le paquet **cifs-utils** :

```
sudo apt update && sudo apt install -y cifs-utils
```

Créez le fichier contenant les identifiants du partage et enlevez lui les droits de lecture :

```bash
sudo nano /root/.creds
```

```
username=myUser
password=myPass
domain=WORKGROUP
```

```bash
sudo chmod 600 /root/.creds
```

Créez le dossier qui va accueillir le point de montage :

```bash
sudo mkdir /media/share
```

Testez le montage de votre partage :

```bash
sudo mount -t cifs -o credentials=/root/.creds //<IP>/<SHARE> /media/share
```

Afin de rendre persistent votre point de montage, éditez le fichier **/etc/fstab** :

```bash
sudo nano /etc/fstab
```

Et ajoutez une entrée de la sorte :

```bash
//<IP>/<SHARE>    </media/share>    cifs    uid=0,credentials=/root/.creds-nas,iocharset=utf8,vers=3.0    0 0
```