samba
Linux

Samba : Installation et Configuration sur Ubuntu 22.04

Samba est un logiciel libre qui permet de partager des fichiers et des imprimantes entre des ordinateurs sous Linux et Windows. Il est très utile pour les réseaux domestiques et les petites entreprises. Dans cet article, Je vais vous montrer comment installer et configurer Samba sur Ubuntu 22.04.

samba
samba

Installer samba sur Ubuntu

Avant de commencer, assurez-vous que votre système est bien à jours :

root@Linux:~# apt-get update

Maintenant que notre système est bien à jour, utilisez la commande suivante pour installer Smb :

# apt install samba

Vous pouvez vérifier la version de samba installé avec cette commande :

root@Linux:~# samba -V
Version 4.15.13-Ubuntu

Configuration de Samba

1- Ouvrez le fichier de configuration Samba en utilisant la commande suivante :

# nano /etc/samba/smb.conf

2- Recherchez la ligne workgroup = WORKGROUP et remplacez « WORKGROUP » par le nom de votre groupe de travail.

Samba workgroup
samba Workgroup

3- Indiquez le répertiore que vous souhaitez partager en ajoutant les sections comme celle-ci à la fin du fichier :

[NomDuPartage]
   comment = Commentaire
   path = /chemin/vers/le/dossier
   read only = no
   writable = yes
   browseable = yes
   guest ok = no
   valid users = user1

Path : c’est le chemin vers votre répertoire de partage

– valid users : Les utilisateurs ayant le droit d’accéder au partage.

– read only :

no: si vous souhaitez que les utilisateur aient le droit d’ajouter et de modifier les fichiers

yes: si vous souhaitez que les utilisateur aient uniquement le droit de lecture.

writable : les utilisateur ont le droit ou non d’ajouter et de modifier les fichiers

browseable : Indique si le partage doit être visible dans la liste des partages disponibles.

4- Testez s’il y a des erreurs de syntax au niveau de fichier de configuration avec la commande testparm :

root@Linux:~# testparm  /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed

Server role: ROLE_STANDALONE

Comme vous pouvez le constater, le résultat de la commande montre que tout est OK.

5- Redémarrez ensuite le service smbd en utilisant la commande suivante :

# systemctl restart smbd
# systemctl status smbd
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-01-29 13:13:59 +01; 1h 2min ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
    Process: 45822 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)
   Main PID: 45831 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 4 (limit: 5695)
     Memory: 8.8M
        CPU: 254ms
     CGroup: /system.slice/smbd.service
             ├─45831 /usr/sbin/smbd --foreground --no-process-group
             ├─45833 /usr/sbin/smbd --foreground --no-process-group
             ├─45834 /usr/sbin/smbd --foreground --no-process-group
             └─45835 /usr/lib/x86_64-linux-gnu/samba/samba-bgqd --ready-signal-fd=45 --parent-watch-fd=11 --debuglevel=0 -F

Configuration de l’utilisateur samba


Créez un utilisateur qui aura le droit d’accéder à votre partage en utilisant la commande suivante :

# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.

Il faut ensuite accorder à cet utilisateur le droit de lire, modifier et éxécuter au niveau du dossier partagé en utilisant les ACL :

# setfacl -R -m "u:user1:rwx" /data

Configuration du pare-feu

root@Linux:~# ufw allow samba
Rules updated
Rules updated (v6)

Connection au partage Samba

Maintenant que notre samba est prêt, nous allons tester l’accés au partage depuis une machine Linux et Windows.

Depuis une machine Linux

Sur Linux pour accéder à un partage Samba nous allons utiliser smbclient.

smbclient est un utilitaire qui vous permet d’accéder à un partege SMB depuis la ligne de commande. Il n’est pas installé sur la pluspart des distribution. Voici la commande pour l’installer sur Centos/Redhat et Ubuntu/Debian :

  • Sous Centos/Redhat :
# yum install samba-client
  • Sous Ubuntu / Debian :
# apt install smbclient

Voici la syntaxe de la commande smbclient pour accéder au partage :

# smbclient //adresse_IP_du serveru_ou_hostname/nom_du_partage -U nom_de_utilisateur

Pa exemple dans mon cas, voici ma commande :

[root@smb-client ~]# smbclient //192.168.139.150/DATA -U user1
Enter SAMBA\user1's password:
Try "help" to get a list of possible commands.
smb: \>

Pour prendre un exmple, j’ai créé un fichier nommé « exemple.txt » au niveau du partage samba et je souhaite le télecharger, il suffit d’utiliser la commande get :

[root@smb-client ~]# smbclient //192.168.139.150/DATA -U user1
Enter SAMBA\user1's password:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Sun Jan 29 15:03:10 2023
  ..                                  D        0  Sun Jan 29 13:11:17 2023
  exemple.txt                             N        0  Sun Jan 29 15:03:10 2023


                19946096 blocks of size 1024. 4265416 blocks available
smb: \> get exemple
getting file \exemple of size 0 as exemple (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)
smb: \> exit
[root@smb-client ~]# ls
anaconda-ks.cfg  exemple.txt
[root@smb-client ~]#

Monter le partage Samba

Cette fois, au lieu d’intéragir avec le partage depuis la ligne de commande, nous allons le faire monter au niveau du client samba comme s’il existait localement.

Pour cela il nous faut installer un package nommé cifs :

  • Sous CentOS/Redhat :
[root@smb-client ~]# yum install cifs-utils
  • Sous Ubuntu/Debian
[root@smb-client ~]# apt install cifs-utils

Créez ensuite le point de montage via lequel on peut accéder au partage réseau :

[root@smb-client ~]# mkdir /applis

Par la suite faites monter le partage avec la commande ci-dessous on indiquant l’utilisateur samba:

[root@smb-client ~]# mount -t cifs -o username=user1 //192.168.139.150/DATA /applis
Password for user1@//192.168.139.150/DATA:  ********

vous serai inviter à taper le mot de passe de l’utilsateur samba.

Taper ensuite la commande df -hT :

[root@smb-client ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  898M     0  898M   0% /dev
tmpfs                   tmpfs     910M     0  910M   0% /dev/shm
tmpfs                   tmpfs     910M  9.6M  901M   2% /run
tmpfs                   tmpfs     910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  1.6G   16G  10% /
/dev/sda1               xfs      1014M  226M  789M  23% /boot
tmpfs                   tmpfs     182M     0  182M   0% /run/user/0
//192.168.139.150/DATA  cifs       20G   15G  4.1G  79% /applis

Et voilà notre partage est bien monté. Comme vous pouvez voir ci-dessous, je vos bien le fichier « exemple.txt » que j’ai créé précédemment :

[root@smb-client ~]# ls
exemple.txt

Sur une machine Windows :

Pour Windows suivez les étapes suivante :

1- Ouvrez l’explorateur Windows et cliquez sur « Ce PC » :

Partage samba sur Windows
partage smb sur Windows

2- Cliquer droit et choisissez « Ajouter un emplacement réseau » :

Partage samba sur Windows
partage smb sur Windows

3- Cliquer sur « Choisissez un emplacement réseau personnalisé » :

Partage samba sur Windows

4- Indiquez l’emplacement du partage samba comme ci-dessous :

Partage smb sur Windows

5- Donnez un nom à votre partage :

Partage samba sur Windows

6- Enfin le partage smb sera visible une fois authentifié avec l’utilsateur smb :

Partage smb sur Windows
Partage smb sur Windows

Félicitation, vous êtes maintenant capable de configurer un partage réseau avec samba de comment y accéder depuis une machine Linux et Windows.

Pour voir comment créer un partage NFS cliquez ici.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *