Samba, également connu sous le nom de "Server Message Block", est un protocole de système de fichiers Internet commun utilisé pour partager des fichiers, des répertoires et des services d'impression sur un réseau sous Linux. Il vous permet d'accorder des autorisations de lecture, d'écriture et d'accès anonyme sur un répertoire partagé. Il est extrêmement utile pour ceux qui utilisent à la fois des systèmes Windows et Linux sur leur réseau.
Dans cet article, nous expliquerons comment installer et utiliser Samba pour partager des fichiers et des répertoires sur Ubuntu 20.04.
Prérequis
- Un nouveau serveur Ubuntu 20.04 sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 20.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur Ubuntu 20.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 - Installer le serveur Samba
apt-get install samba samba-common-bin acl -y
Une fois installés, démarrez les services Samba et autorisez-les à démarrer au redémarrage du système :
systemctl start smbd nmbd systemctl enable smbd nmbd
Vous pouvez vérifier la version installée de Samba avec la commande suivante :
smbd --version
Sortie :
Version 4.11.6-Ubuntu
Étape 3 - Créer un partage privé avec Samba
Dans cette section, nous allons vous montrer comment créer un partage privé à l'aide de Samba afin que seuls les utilisateurs authentifiés puissent accéder au partage.
Pour ce faire, modifiez le fichier de configuration principal de Samba :
nano /etc/samba/smb.conf
Ajoutez ensuite les lignes suivantes à la fin du fichier :
[Private] comment = private share path = /data/private/ browseable = yes guest ok = no writable = yes valid users = @samba
Enregistrez et fermez le fichier, puis créez un nouvel utilisateur avec la commande suivante :
adduser user1
Vous devriez voir le résultat suivant :
Adding user `user1' ... Adding new group `user1' (1000) ... Adding new user `user1' (1000) with group `user1' ... Creating home directory `/home/user1' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for user1 Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Ensuite, définissez un mot de passe Samba avec la commande suivante :
smbpasswd -a user1
Vous devriez voir le résultat suivant :
New SMB password: Retype new SMB password: Added user user1.
Créez ensuite un groupe Samba avec la commande suivante :
groupadd samba
Ensuite, ajoutez user1 au groupe samba :
gpasswd -a user1 samba
Ensuite, créez un dossier partagé que vous avez spécifié dans le fichier smb.conf :
mkdir -p /data/private touch /data/private/file1
Ensuite, fournissez des autorisations de lecture et d'écriture au partage Samba :
setfacl -R -m "g:samba:rwx" /data/private
Ensuite, vérifiez le fichier de configuration Samba pour toute erreur avec la commande suivante :
testparm
Ensuite, redémarrez le service Samba pour appliquer les modifications :
systemctl restart smbd nmbd
Étape 4 – Créer un partage public avec Samba
Dans cette section, nous allons vous montrer comment créer un partage public avec Samba afin que tout le monde puisse accéder au partage public sans fournir de nom d'utilisateur ni de mot de passe.
Pour créer un partage public, modifiez le fichier de configuration principal de Samba :
nano /etc/samba/smb.conf
Ajoutez les lignes suivantes à la fin du fichier :
[Public] comment = public share path = /data/public/ browseable = yes writable = yes guest ok = yes
Enregistrez et fermez le fichier, puis créez un répertoire public :
mkdir -p /data/public/ touch /data/public/file2
Ensuite, définissez les autorisations appropriées sur le répertoire public :
setfacl -R -m "u:nobody:rwx" /data/public
Ensuite, redémarrez le service Samba pour appliquer les modifications :
systemctl restart smbd nmbd
Étape 5 – Accéder au partage Samba depuis Linux
Pour accéder au partage Samba, vous devrez installer le client Samba sur le système Linux. Vous pouvez l'installer à l'aide de la commande suivante :
apt-get install smbclient cifs-utils -y
Ensuite, exécutez la commande suivante pour accéder au partage privé depuis le serveur Samba :
smbclient //samba-ip-address/private -U user1
Il vous sera demandé de fournir un mot de passe pour l'utilisateur 1 :
Enter WORKGROUP\user1's password: Try "help" to get a list of possible commands.
Une fois connecté, exécutez la commande suivante pour répertorier le partage Samba :
smb: \> list 0: server=69.87.221.84, share=private
Ensuite, listez tous les fichiers du répertoire de partage privé :
smb: \> ls
Vous devriez voir le résultat suivant :
. D 0 Sun Jun 27 08:17:58 2021 .. D 0 Sun Jun 27 08:18:13 2021 file1 N 0 Sun Jun 27 08:17:58 2021 51538400 blocks of size 1024. 47348972 blocks available
Ensuite, quittez le shell Samba avec la commande suivante :
smb: \> exit
Si vous souhaitez vous connecter au partage Public, exécutez la commande suivante :
smbclient //samba-ip-address/public
Appuyez simplement sur Entrée sans fournir de mot de passe :
Enter WORKGROUP\root's password: Try "help" to get a list of possible commands. smb: \>
Ensuite, exécutez la commande suivante pour répertorier tous les fichiers du partage public :
smb: \> ls
Sortie :
. D 0 Sun Jun 27 08:18:17 2021 .. D 0 Sun Jun 27 08:18:13 2021 file2 N 0 Sun Jun 27 08:18:17 2021 51538400 blocks of size 1024. 47348972 blocks available
Étape 6 :Monter le partage Samba sur Linux
Samba vous permet également de monter un répertoire partagé sur le système client afin que vous puissiez y accéder et l'utiliser.
Commencez par créer un répertoire sur le système client où vous souhaitez monter le partage Samba :
mkdir /mount
Ensuite, exécutez la commande suivante pour monter le répertoire de partage privé sur le système client :
mount -t cifs -o username=user1 //samba-ip-address/private /mount
Il vous sera demandé de fournir un mot de passe utilisateur1 pour monter le répertoire :
Password for [email protected]//69.87.221.84/private: *********
Ensuite, vérifiez le répertoire monté avec la commande suivante :
df -h
Vous devriez voir votre répertoire partagé privé monté sur le répertoire /mount :
Filesystem Size Used Avail Use% Mounted on udev 981M 0 981M 0% /dev tmpfs 199M 2.2M 197M 2% /run /dev/sda1 50G 1.9G 46G 4% / tmpfs 994M 0 994M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 994M 0 994M 0% /sys/fs/cgroup tmpfs 199M 0 199M 0% /run/user/0 //69.87.221.84/private 50G 4.0G 46G 9% /mount
Maintenant, accédez au partage Samba localement à l'aide de la commande suivante :
ls /mount/
Vous devriez voir le résultat suivant :
file1
Conclusion
Dans le guide ci-dessus, vous avez appris à installer Samba et à l'utiliser pour partager des fichiers et des répertoires entre les systèmes Linux. Essayez l'hébergement VPS d'Atlantic.Net !