Table des matières
Samba sous linux
Installer et configurer le serveur Samba sur Ubuntu pour le partage de fichiers
Dans ce tutoriel, nous allons apprendre comment installer et configurer un serveur Samba sur Ubuntu 22.04/20.04 pour partager des fichiers sur le réseau local. Samba est une implémentation gratuite et open source du protocole SMB/CIFS pour Unix et Linux qui permet le partage de fichiers et d'impressions entre des machines Unix/Linux, Windows et macOS dans un réseau local.
Samba est généralement installé et exécuté sous Linux. Il comprend plusieurs programmes qui répondent à des objectifs différents mais liés, dont les deux plus importants sont :
- smbd : fournit un service SMB/CIFS (partage de fichiers et impression), peut également servir de contrôleur de domaine Windows.
- nmbd : ce démon fournit un service de noms NetBIOS et écoute les requêtes du serveur de noms. Il permet également au serveur Samba d'être trouvé par d'autres ordinateurs du réseau.
Comment installer le serveur Samba sur Ubuntu
Samba est inclus dans la plupart des distributions Linux. Pour installer Samba sur Ubuntu, exécutez simplement la commande suivante dans le terminal.
sudo apt install samba samba-common-bin
La dernière version stable disponible est la 4.12.0, publiée le 3 mars 2019. Pour vérifier votre version de Samba, exécutez
smbd --version
Exemple de sortie :
Version 4.7.6-Ubuntu
Pour vérifier si le service Samba est en cours d'exécution, exécutez la commande suivante.
systemctl status smbd nmbd
Pour démarrer ces deux services, exécutez la commande suivante :
sudo systemctl start smbd nmbd
Une fois démarré, smbd écoutera sur les ports TCP 139 et 445. nmbd écoutera sur les ports UDP 137 et 138.
- TCP 139 : utilisé pour le partage de fichiers et d'imprimantes et d'autres opérations.
- TCP 445 : le port CIFS sans NetBIOS.
- UDP 137 : utilisé pour la navigation sur le réseau NetBIOS.
- UDP 138 : utilisé pour le service de noms NetBIOS.
Si vous avez activé le pare-feu UFW sur Ubuntu, vous devez alors ouvrir les ports ci-dessus dans le pare-feu avec la commande suivante.
sudo ufw allow samba
Créer un partage Samba privé
Dans cette section, nous verrons comment créer un partage Samba privé qui nécessite que le client saisisse un nom d'utilisateur et un mot de passe pour y accéder. Le fichier de configuration principal de Samba se trouve à l'adresse : /etc/samba/smb.conf. Vous pouvez le modifier dans le terminal avec un éditeur de texte en ligne de commande comme nano.
sudo nano /etc/samba/smb.conf
Dans la section [global], assurez-vous que la valeur de workgroup est la même que celle des paramètres de groupe de travail des ordinateurs Windows.
workgroup = WORKGROUP
Vous pouvez trouver le paramètre sur votre ordinateur Windows en allant dans Panneau de configuration > Système et sécurité > Système.
Faites ensuite défiler vers le bas du fichier. (Dans l'éditeur de texte nano, vous pouvez y parvenir en appuyant sur CTRL+W puis sur CTRL+V. ) Ajoutez une nouvelle section comme ci-dessous.
- ex001.txt
[Private] comment = needs username and password to access path = /srv/samba/private/ browseable = yes guest ok = no writable = yes valid users = @samba
Explication:
- Privé est le nom du dossier qui sera affiché sur le réseau Windows.
- Le commentaire est une description du dossier partagé.
- Le paramètre path spécifie le chemin d'accès au dossier partagé. J'utilise /srv/samba/private/ comme exemple. Vous pouvez également utiliser un dossier dans votre répertoire personnel.
- browseable=yes : autorise les autres ordinateurs du réseau à voir le serveur Samba et le partage Samba. Si la valeur est non, les utilisateurs doivent connaître le nom du serveur Samba, puis saisir manuellement un chemin dans le gestionnaire de fichiers pour accéder au dossier partagé.
- invité ok=non : désactiver l'accès invité. En d'autres termes, vous devez saisir un nom d'utilisateur et un mot de passe sur l'ordinateur client pour accéder au dossier partagé.
- writable=yes : accorde des autorisations de lecture et d'écriture aux clients.
- utilisateurs valides=@samba : seuls les utilisateurs du groupe samba sont autorisés à accéder à ce partage Samba.
Enregistrez et fermez le fichier. (Pour enregistrer le fichier dans l'éditeur de texte nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer le nom du fichier à écrire. Pour fermer le fichier, appuyez sur Ctrl+X. ) Nous devons maintenant créer un utilisateur Samba. Tout d’abord, nous devons créer un compte utilisateur Linux standard avec la commande suivante. Remplacez username par le nom d'utilisateur souhaité.
sudo adduser username
Vous serez invité à définir un mot de passe Unix. Après cela, vous devez également définir un mot de passe Samba distinct pour le nouvel utilisateur avec la commande suivante :
sudo smbpasswd -a username
Créez le groupe samba.
sudo groupadd samba
Et ajoutez cet utilisateur au groupe samba.
sudo gpasswd -a username samba
Créez le dossier de partage privé.
sudo mkdir -p /srv/samba/private/
Le groupe samba doit disposer des autorisations de lecture, d'écriture et d'exécution sur le dossier partagé. Vous pouvez accorder ces autorisations en exécutant la commande suivante. (Si votre système ne dispose pas de la commande setfacl, vous devez installer le package acl avec sudo apt install acl.)
sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/
Ensuite, exécutez la commande suivante pour vérifier s'il y a des erreurs syntaxiques.
testparm
Il ne reste plus qu'à redémarrer les démons smbd et nmbd.
sudo systemctl restart smbd nmbd
Comment créer un partage public Samba sans authentification
Pour créer un partage public sans nécessiter de nom d'utilisateur et de mot de passe, les conditions suivantes doivent être remplies.
- Définissez security=user dans la section globale du fichier de configuration Samba. Bien que vous puissiez créer un partage public avec le mode security=share, ce mode de sécurité est obsolète. Il est fortement suggéré d'éviter le mode partager.
- Définissez map sur guest=bad user dans la section globale du fichier de configuration Samba. Cela amènera smbd à utiliser un compte invité pour authentifier les clients qui n'ont pas de compte enregistré sur le serveur Samba. Puisqu'il s'agit d'un compte invité, les clients Samba n'ont pas besoin de saisir de mot de passe.
- Définissez guest ok=yes dans la définition de partage pour autoriser l'accès invité.
- Accordez l'autorisation de lecture, d'écriture et d'exécution du dossier public au compte nobody, qui est le compte invité par défaut.
En fait, les deux premières conditions sont déjà remplies puisque Samba utilise par défaut ces deux paramètres.
Voici un guide étape par étape pour créer un partage public. Tout d’abord, ouvrez et modifiez le fichier de configuration Samba.
sudo nano /etc/samba/smb.conf
Dans la section [global], assurez-vous que la valeur de workgroup est la même que celle des paramètres de groupe de travail des ordinateurs Windows.
workgroup = WORKGROUP
Vous pouvez trouver le paramètre sur votre ordinateur Windows en allant dans Panneau de configuration > Système et sécurité > Système.
Faites ensuite défiler vers le bas du fichier et collez les lignes suivantes.
- ex002.txt
[public] comment = public share, no need to enter username and password path = /srv/samba/public/ browseable = yes writable = yes guest ok = yes
Enregistrez et fermez le fichier. Ensuite, créez le dossier /srv/samba/public/.
sudo mkdir -p /srv/samba/public
Assurez-vous ensuite que le compte nobody dispose des autorisations de lecture, d'écriture et d'exécution sur le dossier public en exécutant la commande suivante. (Si votre système ne dispose pas de la commande setfacl, vous devez installer le package acl avec sudo apt install acl.)
sudo setfacl -R -m “u:nobody:rwx” /srv/samba/public/
Redémarrez smbd et nmbd.
sudo systemctl restart smbd nmbd
Accéder au dossier partagé Samba depuis Windows
Sur un ordinateur Windows appartenant au même réseau, ouvrez l'Explorateur de fichiers et cliquez sur Réseau dans le volet de gauche. Si vous voyez le message suivant, vous devez cliquer sur le message et activer la découverte du réseau et le partage de fichiers.
File sharing is turned off. Some network computers and devices might not be visible.
Ensuite, saisissez
suivi de l'adresse IP du serveur Samba dans la barre d'adresse de l'Explorateur de fichiers, comme ceci : \\192.168.0.102. Vous verrez une liste des ressources partagées sur le serveur Samba.
Double-cliquez ensuite sur le dossier partagé. Pour accéder au partage privé, vous devez saisir le nom d'utilisateur et le mot de passe samba. Vous n’avez pas besoin de le faire pour accéder au partage public.
Une fois connecté, vous pouvez lire, écrire et supprimer des fichiers dans le dossier partagé Samba. Erreur de connexion
Si vous obtenez l'erreur suivante :
You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.
Vous pouvez essayer de vous connecter au partage Samba à partir de l'invite de commande. Ouvrez une invite de commande, puis exécutez la commande suivante pour fermer la session Samba en cours.
net use \\samba-server-ip\share-name /delete
Ensuite, connectez-vous au partage Samba avec la commande suivante :
net use \\samba-server-ip\share-name /user:samba-username password
Une fois la commande ci-dessus terminée avec succès, accédez à l'onglet Réseau dans l'Explorateur de fichiers et vous devriez maintenant pouvoir accéder au partage Samba. Mappage de lecteur sous Windows
Une fonctionnalité du système d'exploitation Windows est la capacité de mapper une lettre de lecteur (telle que S :) à un répertoire distant. Pour mapper la lettre de lecteur S: au partage Samba, cliquez avec le bouton droit sur le dossier partagé Samba et sélectionnez Mapper le lecteur réseau. Choisissez ensuite une lettre de lecteur et cliquez sur Terminer.
Une fois le mappage de lecteur établi, les applications peuvent accéder aux fichiers du partage Samba via la lettre de lecteur S:. Et ce partage Samba sera automatiquement monté lorsque vous vous connecterez à votre ordinateur Windows. Accès au dossier de partage Samba dans le gestionnaire de fichiers Nautilus sous Linux
Si vous utilisez le gestionnaire de fichiers Nautilus, cliquez sur Autres emplacements dans le volet de gauche. En bas, vous verrez une option pour vous connecter au serveur. Pour accéder à votre partage Samba, saisissez smb: suivi de l'adresse IP du serveur Samba et appuyez sur Entrée. Par exemple: smb:192.168.0.102
Vous verrez une liste des ressources partagées sur le serveur Samba.
Si vous cliquez sur le dossier partagé privé, vous devrez alors saisir le nom d'utilisateur et le mot de passe Samba. Si vous cliquez sur le dossier partagé public, choisissez de vous connecter en tant qu'anonyme.
Si vous voyez le message d'erreur suivant,
failed to retrieve share list from server
Vous pouvez essayer de corriger cette erreur en montant le partage Samba à partir de la ligne de commande, comme indiqué ci-dessous. Monter automatiquement le partage Samba à partir de la ligne de commande sous Linux
Remarque : Le montage automatique du Partage Samba est effectué sur les clients. Ces commandes doivent être exécutées sur un client Samba, si le client Samba exécute Linux. Vous ne devriez pas le faire sur le serveur Samba lui-même.
Si vous devez monter automatiquement le partage Samba au moment du démarrage, vous pouvez utiliser la ligne de commande pour monter, puis ajouter une entrée dans le fichier /etc/fstab. Pour ce faire, vous devez installer le package cifs-utils.
CentOS/RHEL
sudo dnf install cifs-utilsInstaller et configurer le serveur Samba sur Ubuntu pour le partage de fichiers
Dans ce tutoriel, nous allons apprendre comment installer et configurer un serveur Samba sur Ubuntu 22.04/20.04 pour partager des fichiers sur le réseau local. Samba est une implémentation gratuite et open source du protocole SMB/CIFS pour Unix et Linux qui permet le partage de fichiers et d'impressions entre des machines Unix/Linux, Windows et macOS dans un réseau local.
Samba est généralement installé et exécuté sous Linux. Il comprend plusieurs programmes qui répondent à des objectifs différents mais liés, dont les deux plus importants sont :
smbd : fournit un service SMB/CIFS (partage de fichiers et impression), peut également servir de contrôleur de domaine Windows. nmbd : ce démon fournit un service de noms NetBIOS et écoute les requêtes du serveur de noms. Il permet également au serveur Samba d'être trouvé par d'autres ordinateurs du réseau.
Comment installer le serveur Samba sur Ubuntu
Samba est inclus dans la plupart des distributions Linux. Pour installer Samba sur Ubuntu, exécutez simplement la commande suivante dans le terminal.
sudo apt install samba samba-common-bin
La dernière version stable disponible est la 4.12.0, publiée le 3 mars 2019. Pour vérifier votre version de Samba, exécutez
smbd –version
Exemple de sortie :
Version 4.7.6-Ubuntu
Pour vérifier si le service Samba est en cours d'exécution, exécutez la commande suivante.
systemctl status smbd nmbd Installer et configurer le serveur Samba sur Ubuntu pour le partage de fichiers
Dans ce tutoriel, nous allons apprendre comment installer et configurer un serveur Samba sur Ubuntu 22.04/20.04 pour partager des fichiers sur le réseau local. Samba est une implémentation gratuite et open source du protocole SMB/CIFS pour Unix et Linux qui permet le partage de fichiers et d'impressions entre des machines Unix/Linux, Windows et macOS dans un réseau local.
Samba est généralement installé et exécuté sous Linux. Il comprend plusieurs programmes qui répondent à des objectifs différents mais liés, dont les deux plus importants sont :
smbd : fournit un service SMB/CIFS (partage de fichiers et impression), peut également servir de contrôleur de domaine Windows. nmbd : ce démon fournit un service de noms NetBIOS et écoute les requêtes du serveur de noms. Il permet également au serveur Samba d'être trouvé par d'autres ordinateurs du réseau.
Comment installer le serveur Samba sur Ubuntu
Samba est inclus dans la plupart des distributions Linux. Pour installer Samba sur Ubuntu, exécutez simplement la commande suivante dans le terminal.
sudo apt install samba samba-common-bin
La dernière version stable disponible est la 4.12.0, publiée le 3 mars 2019. Pour vérifier votre version de Samba, exécutez
smbd –version
Exemple de sortie :
Version 4.7.6-Ubuntu
Pour vérifier si le service Samba est en cours d'exécution, exécutez la commande suivante.
systemctl status smbd nmbd
Pour démarrer ces deux services, exécutez la commande suivante :
sudo systemctl start smbd nmbd
Une fois démarré, smbd écoutera sur les ports TCP 139 et 445. nmbd écoutera sur les ports UDP 137 et 138.
TCP 139 : utilisé pour le partage de fichiers et d'imprimantes et d'autres opérations. TCP 445 : le port CIFS sans NetBIOS. UDP 137 : utilisé pour la navigation sur le réseau NetBIOS. UDP 138 : utilisé pour le service de noms NetBIOS.
Si vous avez activé le pare-feu UFW sur Ubuntu, vous devez alors ouvrir les ports ci-dessus dans le pare-feu avec la commande suivante.
sudo ufw allow samba
Créer un partage Samba privé
Dans cette section, nous verrons comment créer un partage Samba privé qui nécessite que le client saisisse un nom d'utilisateur et un mot de passe pour y accéder. Le fichier de configuration principal de Samba se trouve à l'adresse : /etc/samba/smb.conf. Vous pouvez le modifier dans le terminal avec un éditeur de texte en ligne de commande comme nano.
sudo nano /etc/samba/smb.conf
Dans la section [global], assurez-vous que la valeur de workgroup est la même que celle des paramètres de groupe de travail des ordinateurs Windows.
workgroup = WORKGROUP
Vous pouvez trouver le paramètre sur votre ordinateur Windows en allant dans Panneau de configuration > Système et sécurité > Système.
Faites ensuite défiler vers le bas du fichier. (Dans l'éditeur de texte nano, vous pouvez y parvenir en appuyant sur CTRL+W puis sur CTRL+V. ) Ajoutez une nouvelle section comme ci-dessous.
[Private]
comment = needs username and password to access path = /srv/samba/private/ browseable = yes guest ok = no writable = yes valid users = @samba
Explication:
Privé est le nom du dossier qui sera affiché sur le réseau Windows. Le commentaire est une description du dossier partagé. Le paramètre path spécifie le chemin d'accès au dossier partagé. J'utilise /srv/samba/private/ comme exemple. Vous pouvez également utiliser un dossier dans votre répertoire personnel. browseable=yes : autorise les autres ordinateurs du réseau à voir le serveur Samba et le partage Samba. Si la valeur est non, les utilisateurs doivent connaître le nom du serveur Samba, puis saisir manuellement un chemin dans le gestionnaire de fichiers pour accéder au dossier partagé. invité ok=non : désactiver l'accès invité. En d'autres termes, vous devez saisir un nom d'utilisateur et un mot de passe sur l'ordinateur client pour accéder au dossier partagé. writable=yes : accorde des autorisations de lecture et d'écriture aux clients. utilisateurs valides=@samba : seuls les utilisateurs du groupe samba sont autorisés à accéder à ce partage Samba.
Enregistrez et fermez le fichier. (Pour enregistrer le fichier dans l'éditeur de texte nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer le nom du fichier à écrire. Pour fermer le fichier, appuyez sur Ctrl+X. ) Nous devons maintenant créer un utilisateur Samba. Tout d’abord, nous devons créer un compte utilisateur Linux standard avec la commande suivante. Remplacez username par le nom d'utilisateur souhaité.
sudo adduser username
Vous serez invité à définir un mot de passe Unix. Après cela, vous devez également définir un mot de passe Samba distinct pour le nouvel utilisateur avec la commande suivante :
sudo smbpasswd -a username
Créez le groupe samba.
sudo groupadd samba
Et ajoutez cet utilisateur au groupe samba.
sudo gpasswd -a username samba
Créez le dossier de partage privé.
sudo mkdir -p /srv/samba/private/
Le groupe samba doit disposer des autorisations de lecture, d'écriture et d'exécution sur le dossier partagé. Vous pouvez accorder ces autorisations en exécutant la commande suivante. (Si votre système ne dispose pas de la commande setfacl, vous devez installer le package acl avec sudo apt install acl.)
sudo setfacl -R -m “g:samba:rwx” /srv/samba/private/
Ensuite, exécutez la commande suivante pour vérifier s'il y a des erreurs syntaxiques.
testparm
Il ne reste plus qu'à redémarrer les démons smbd et nmbd.
sudo systemctl restart smbd nmbd
Comment créer un partage public Samba sans authentification
Pour créer un partage public sans nécessiter de nom d'utilisateur et de mot de passe, les conditions suivantes doivent être remplies.
Définissez security=user dans la section globale du fichier de configuration Samba. Bien que vous puissiez créer un partage public avec le mode security=share, ce mode de sécurité est obsolète. Il est fortement suggéré d'éviter le mode partager. Définissez map sur guest=bad user dans la section globale du fichier de configuration Samba. Cela amènera smbd à utiliser un compte invité pour authentifier les clients qui n'ont pas de compte enregistré sur le serveur Samba. Puisqu'il s'agit d'un compte invité, les clients Samba n'ont pas besoin de saisir de mot de passe. Définissez guest ok=yes dans la définition de partage pour autoriser l'accès invité. Accordez l'autorisation de lecture, d'écriture et d'exécution du dossier public au compte nobody, qui est le compte invité par défaut.
En fait, les deux premières conditions sont déjà remplies puisque Samba utilise par défaut ces deux paramètres.
Voici un guide étape par étape pour créer un partage public. Tout d’abord, ouvrez et modifiez le fichier de configuration Samba.
sudo nano /etc/samba/smb.conf
Dans la section [global], assurez-vous que la valeur de workgroup est la même que celle des paramètres de groupe de travail des ordinateurs Windows.
workgroup = WORKGROUP
Vous pouvez trouver le paramètre sur votre ordinateur Windows en allant dans Panneau de configuration > Système et sécurité > Système.
Faites ensuite défiler vers le bas du fichier et collez les lignes suivantes.
[public]
comment = public share, no need to enter username and password path = /srv/samba/public/ browseable = yes writable = yes guest ok = yes
Enregistrez et fermez le fichier. Ensuite, créez le dossier /srv/samba/public/.
sudo mkdir -p /srv/samba/public
Assurez-vous ensuite que le compte nobody dispose des autorisations de lecture, d'écriture et d'exécution sur le dossier public en exécutant la commande suivante. (Si votre système ne dispose pas de la commande setfacl, vous devez installer le package acl avec sudo apt install acl.)
sudo setfacl -R -m “u:nobody:rwx” /srv/samba/public/
Redémarrez smbd et nmbd.
sudo systemctl restart smbd nmbd
Accéder au dossier partagé Samba depuis Windows
Sur un ordinateur Windows appartenant au même réseau, ouvrez l'Explorateur de fichiers et cliquez sur Réseau dans le volet de gauche. Si vous voyez le message suivant, vous devez cliquer sur le message et activer la découverte du réseau et le partage de fichiers.
File sharing is turned off. Some network computers and devices might not be visible.
Ensuite, saisissez
suivi de l'adresse IP du serveur Samba dans la barre d'adresse de l'Explorateur de fichiers, comme ceci : \\192.168.0.102. Vous verrez une liste des ressources partagées sur le serveur Samba.
Double-cliquez ensuite sur le dossier partagé. Pour accéder au partage privé, vous devez saisir le nom d'utilisateur et le mot de passe samba. Vous n’avez pas besoin de le faire pour accéder au partage public.
Une fois connecté, vous pouvez lire, écrire et supprimer des fichiers dans le dossier partagé Samba. Erreur de connexion
Si vous obtenez l'erreur suivante :
You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.
Vous pouvez essayer de vous connecter au partage Samba à partir de l'invite de commande. Ouvrez une invite de commande, puis exécutez la commande suivante pour fermer la session Samba en cours.
net use \\samba-server-ip\share-name /delete
Ensuite, connectez-vous au partage Samba avec la commande suivante :
net use \\samba-server-ip\share-name /user:samba-username password
Une fois la commande ci-dessus terminée avec succès, accédez à l'onglet Réseau dans l'Explorateur de fichiers et vous devriez maintenant pouvoir accéder au partage Samba. Mappage de lecteur sous Windows
Une fonctionnalité du système d'exploitation Windows est la capacité de mapper une lettre de lecteur (telle que S :) à un répertoire distant. Pour mapper la lettre de lecteur S: au partage Samba, cliquez avec le bouton droit sur le dossier partagé Samba et sélectionnez Mapper le lecteur réseau. Choisissez ensuite une lettre de lecteur et cliquez sur Terminer.
Une fois le mappage de lecteur établi, les applications peuvent accéder aux fichiers du partage Samba via la lettre de lecteur S:. Et ce partage Samba sera automatiquement monté lorsque vous vous connecterez à votre ordinateur Windows. Accès au dossier de partage Samba dans le gestionnaire de fichiers Nautilus sous Linux
Si vous utilisez le gestionnaire de fichiers Nautilus, cliquez sur Autres emplacements dans le volet de gauche. En bas, vous verrez une option pour vous connecter au serveur. Pour accéder à votre partage Samba, saisissez smb: suivi de l'adresse IP du serveur Samba et appuyez sur Entrée. Par exemple: smb:192.168.0.102
Vous verrez une liste des ressources partagées sur le serveur Samba.
Si vous cliquez sur le dossier partagé privé, vous devrez alors saisir le nom d'utilisateur et le mot de passe Samba. Si vous cliquez sur le dossier partagé public, choisissez de vous connecter en tant qu'anonyme.
Si vous voyez le message d'erreur suivant,
failed to retrieve share list from server
Vous pouvez essayer de corriger cette erreur en montant le partage Samba à partir de la ligne de commande, comme indiqué ci-dessous. Monter automatiquement le partage Samba à partir de la ligne de commande sous Linux
Remarque : Le montage automatique du Partage Samba est effectué sur les clients. Ces commandes doivent être exécutées sur un client Samba, si le client Samba exécute Linux. Vous ne devriez pas le faire sur le serveur Samba lui-même.
Si vous devez monter automatiquement le partage Samba au moment du démarrage, vous pouvez utiliser la ligne de commande pour monter, puis ajouter une entrée dans le fichier /etc/fstab. Pour ce faire, vous devez installer le package cifs-utils.
CentOS/RHEL
sudo dnf install cifs-utils
Debian/Ubuntu
sudo apt install cifs-utils
Créez ensuite un point de montage pour le partage Samba.
sudo mkdir /mnt/samba-private
Vous pouvez maintenant utiliser la commande suivante pour monter un dossier partagé privé.
sudo mount -t cifs -o username=your_samba_username 192.168.0.102/private /mnt/samba-private/ Il vous demandera de saisir le mot de passe Samba. Après cela, il sera monté dans le répertoire /mnt/samba-private/. Pour monter automatiquement le partage Samba, éditez le fichier /etc/fstab. sudo nano /etc/fstab Ajoutez la ligne suivante dans le fichier. 192.168.0.102/private /mnt/samba-private cifs x-systemd.automount,_netdev,credentials=/etc/samba-credential.conf,uid=1000,gid=1000,x-gvfs-show 0 0
Où :
//192.168.0.102/private : l'adresse IP du serveur Samba et le nom du partage. /mnt/samba-private : point de montage du partage Samba. cifs : type de système de fichiers x-systemd.automount : cette option indique à systemd de créer une unité de montage automatique pour le système de fichiers. Nous l'utilisons car cela garantit que le système de fichiers distant est monté uniquement après un accès au réseau. _netdev : ceci spécifie que le montage nécessite un réseau. credentials= : Linux doit rechercher les informations d'identification dans le fichier /etc/samba-credential.conf. uid=1000,gid=1000 : par défaut, le système de fichiers monté appartiendrait à l'utilisateur root. Nous utilisons uid et gid pour changer la propriété du système de fichiers. Normalement, vous utilisez votre propre uid et votre gid, qui valent tous deux 1000 par défaut. x-gvfs-show : si vous utilisez l'environnement de bureau GNOME ou ses dérivés, vous pouvez utiliser cette option pour afficher le système de fichiers monté dans le gestionnaire de fichiers.
Enregistrez et fermez le fichier. Créez ensuite le fichier d’informations d’identification.
sudo nano /etc/samba-credential.conf
Ajoutez les lignes suivantes dans le fichier.
username=your_samba_username password=samba_password domain=WORKGROUP
Enregistrez et fermez le fichier. Assurez-vous que seul l'utilisateur root peut lire ce fichier.
sudo chmod 600 /etc/samba-credential.conf
Si vous redémarrez votre ordinateur Linux maintenant, le partage Samba sera automatiquement monté. Vous pouvez également exécuter la commande suivante pour monter le partage Samba sans redémarrage.
sudo mount -a
Si vous voyez l'erreur d'autorisation refusée et que vous pouvez trouver la ligne suivante en exécutant la commande sudo dmesg,
VFS: cifs_mount failed w/return code = -13
c'est probablement parce que vous avez une faute de frappe dans le fichier /etc/samba-credential.
Lectures complémentaires : Comment monter automatiquement des systèmes de fichiers sous Linux.
Vous ne parvenez pas à écrire sur le partage Samba ?
Le montage CIFS décrit ci-dessus vous permet d'écrire sur le partage Samba. Si vous voyez l'erreur suivante lors de la création d'un fichier :
Read-only file system
Vérifiez que vous avez défini writable=yes dans le fichier de configuration Samba. Parfois, le dossier partagé Samba se trouve sur un disque dur externe, alors assurez-vous de monter le disque dur externe en mode lecture-écriture sur le serveur Samba. Par exemple, j'ai monté mon disque dur btrfs avec la ligne suivante dans /etc/fstab.
LABEL=5TB /mnt/5TB btrfs defaults 0 0
Il s'avère que l'option defaults n'autorise pas l'opération d'écriture. Pour le rendre accessible en écriture, ajoutez l'option rw.
LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0
Démontez ensuite le disque dur. Vous devez utiliser votre propre point de montage.
sudo umount /mnt/5TB
Et remontez-le.
sudo mount -a
Conseil de dépannage
Si votre serveur Samba ne fonctionne pas comme prévu, vous pouvez vérifier les fichiers journaux dans le répertoire /var/log/samba/. Vous pouvez ajouter la ligne suivante dans la section [global] du fichier /etc/samba/smb.conf pour augmenter le niveau de journalisation si vous souhaitez enregistrer plus d'informations.
log level = 2
Une astuce simple pour améliorer les performances de Samba
Vous pouvez activer l'algorithme TCP BBR pour améliorer les performances du réseau du serveur.
Améliorez facilement les performances du réseau Ubuntu en activant TCP BBR
Pour démarrer ces deux services, exécutez la commande suivante :
sudo systemctl start smbd nmbd
Une fois démarré, smbd écoutera sur les ports TCP 139 et 445. nmbd écoutera sur les ports UDP 137 et 138.
TCP 139 : utilisé pour le partage de fichiers et d'imprimantes et d'autres opérations. TCP 445 : le port CIFS sans NetBIOS. UDP 137 : utilisé pour la navigation sur le réseau NetBIOS. UDP 138 : utilisé pour le service de noms NetBIOS.
Si vous avez activé le pare-feu UFW sur Ubuntu, vous devez alors ouvrir les ports ci-dessus dans le pare-feu avec la commande suivante.
sudo ufw allow samba
Créer un partage Samba privé
Dans cette section, nous verrons comment créer un partage Samba privé qui nécessite que le client saisisse un nom d'utilisateur et un mot de passe pour y accéder. Le fichier de configuration principal de Samba se trouve à l'adresse : /etc/samba/smb.conf. Vous pouvez le modifier dans le terminal avec un éditeur de texte en ligne de commande comme nano.
sudo nano /etc/samba/smb.conf
Dans la section [global], assurez-vous que la valeur de workgroup est la même que celle des paramètres de groupe de travail des ordinateurs Windows.
workgroup = WORKGROUP
Vous pouvez trouver le paramètre sur votre ordinateur Windows en allant dans Panneau de configuration > Système et sécurité > Système.
Faites ensuite défiler vers le bas du fichier. (Dans l'éditeur de texte nano, vous pouvez y parvenir en appuyant sur CTRL+W puis sur CTRL+V. ) Ajoutez une nouvelle section comme ci-dessous.
[Private]
comment = needs username and password to access path = /srv/samba/private/ browseable = yes guest ok = no writable = yes valid users = @samba
Explication:
Privé est le nom du dossier qui sera affiché sur le réseau Windows. Le commentaire est une description du dossier partagé. Le paramètre path spécifie le chemin d'accès au dossier partagé. J'utilise /srv/samba/private/ comme exemple. Vous pouvez également utiliser un dossier dans votre répertoire personnel. browseable=yes : autorise les autres ordinateurs du réseau à voir le serveur Samba et le partage Samba. Si la valeur est non, les utilisateurs doivent connaître le nom du serveur Samba, puis saisir manuellement un chemin dans le gestionnaire de fichiers pour accéder au dossier partagé. invité ok=non : désactiver l'accès invité. En d'autres termes, vous devez saisir un nom d'utilisateur et un mot de passe sur l'ordinateur client pour accéder au dossier partagé. writable=yes : accorde des autorisations de lecture et d'écriture aux clients. utilisateurs valides=@samba : seuls les utilisateurs du groupe samba sont autorisés à accéder à ce partage Samba.
Enregistrez et fermez le fichier. (Pour enregistrer le fichier dans l'éditeur de texte nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer le nom du fichier à écrire. Pour fermer le fichier, appuyez sur Ctrl+X. ) Nous devons maintenant créer un utilisateur Samba. Tout d’abord, nous devons créer un compte utilisateur Linux standard avec la commande suivante. Remplacez username par le nom d'utilisateur souhaité.
sudo adduser username
Vous serez invité à définir un mot de passe Unix. Après cela, vous devez également définir un mot de passe Samba distinct pour le nouvel utilisateur avec la commande suivante :
sudo smbpasswd -a username
Créez le groupe samba.
sudo groupadd samba
Et ajoutez cet utilisateur au groupe samba.
sudo gpasswd -a username samba
Créez le dossier de partage privé.
sudo mkdir -p /srv/samba/private/
Le groupe samba doit disposer des autorisations de lecture, d'écriture et d'exécution sur le dossier partagé. Vous pouvez accorder ces autorisations en exécutant la commande suivante. (Si votre système ne dispose pas de la commande setfacl, vous devez installer le package acl avec sudo apt install acl.)
sudo setfacl -R -m “g:samba:rwx” /srv/samba/private/
Ensuite, exécutez la commande suivante pour vérifier s'il y a des erreurs syntaxiques.
testparm
Il ne reste plus qu'à redémarrer les démons smbd et nmbd.
sudo systemctl restart smbd nmbd
Comment créer un partage public Samba sans authentification
Pour créer un partage public sans nécessiter de nom d'utilisateur et de mot de passe, les conditions suivantes doivent être remplies.
Définissez security=user dans la section globale du fichier de configuration Samba. Bien que vous puissiez créer un partage public avec le mode security=share, ce mode de sécurité est obsolète. Il est fortement suggéré d'éviter le mode partager. Définissez map sur guest=bad user dans la section globale du fichier de configuration Samba. Cela amènera smbd à utiliser un compte invité pour authentifier les clients qui n'ont pas de compte enregistré sur le serveur Samba. Puisqu'il s'agit d'un compte invité, les clients Samba n'ont pas besoin de saisir de mot de passe. Définissez guest ok=yes dans la définition de partage pour autoriser l'accès invité. Accordez l'autorisation de lecture, d'écriture et d'exécution du dossier public au compte nobody, qui est le compte invité par défaut.
En fait, les deux premières conditions sont déjà remplies puisque Samba utilise par défaut ces deux paramètres.
Voici un guide étape par étape pour créer un partage public. Tout d’abord, ouvrez et modifiez le fichier de configuration Samba.
sudo nano /etc/samba/smb.conf
Dans la section [global], assurez-vous que la valeur de workgroup est la même que celle des paramètres de groupe de travail des ordinateurs Windows.
workgroup = WORKGROUP
Vous pouvez trouver le paramètre sur votre ordinateur Windows en allant dans Panneau de configuration > Système et sécurité > Système.
Faites ensuite défiler vers le bas du fichier et collez les lignes suivantes.
[public]
comment = public share, no need to enter username and password path = /srv/samba/public/ browseable = yes writable = yes guest ok = yes
Enregistrez et fermez le fichier. Ensuite, créez le dossier /srv/samba/public/.
sudo mkdir -p /srv/samba/public
Assurez-vous ensuite que le compte nobody dispose des autorisations de lecture, d'écriture et d'exécution sur le dossier public en exécutant la commande suivante. (Si votre système ne dispose pas de la commande setfacl, vous devez installer le package acl avec sudo apt install acl.)
sudo setfacl -R -m “u:nobody:rwx” /srv/samba/public/
Redémarrez smbd et nmbd.
sudo systemctl restart smbd nmbd
Accéder au dossier partagé Samba depuis Windows
Sur un ordinateur Windows appartenant au même réseau, ouvrez l'Explorateur de fichiers et cliquez sur Réseau dans le volet de gauche. Si vous voyez le message suivant, vous devez cliquer sur le message et activer la découverte du réseau et le partage de fichiers.
File sharing is turned off. Some network computers and devices might not be visible.
Ensuite, saisissez
suivi de l'adresse IP du serveur Samba dans la barre d'adresse de l'Explorateur de fichiers, comme ceci : \\192.168.0.102. Vous verrez une liste des ressources partagées sur le serveur Samba.
Double-cliquez ensuite sur le dossier partagé. Pour accéder au partage privé, vous devez saisir le nom d'utilisateur et le mot de passe samba. Vous n’avez pas besoin de le faire pour accéder au partage public.
Une fois connecté, vous pouvez lire, écrire et supprimer des fichiers dans le dossier partagé Samba. Erreur de connexion
Si vous obtenez l'erreur suivante :
You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.
Vous pouvez essayer de vous connecter au partage Samba à partir de l'invite de commande. Ouvrez une invite de commande, puis exécutez la commande suivante pour fermer la session Samba en cours.
net use \\samba-server-ip\share-name /delete
Ensuite, connectez-vous au partage Samba avec la commande suivante :
net use \\samba-server-ip\share-name /user:samba-username password
Une fois la commande ci-dessus terminée avec succès, accédez à l'onglet Réseau dans l'Explorateur de fichiers et vous devriez maintenant pouvoir accéder au partage Samba. Mappage de lecteur sous Windows
Une fonctionnalité du système d'exploitation Windows est la capacité de mapper une lettre de lecteur (telle que S :) à un répertoire distant. Pour mapper la lettre de lecteur S: au partage Samba, cliquez avec le bouton droit sur le dossier partagé Samba et sélectionnez Mapper le lecteur réseau. Choisissez ensuite une lettre de lecteur et cliquez sur Terminer.
Une fois le mappage de lecteur établi, les applications peuvent accéder aux fichiers du partage Samba via la lettre de lecteur S:. Et ce partage Samba sera automatiquement monté lorsque vous vous connecterez à votre ordinateur Windows. Accès au dossier de partage Samba dans le gestionnaire de fichiers Nautilus sous Linux
Si vous utilisez le gestionnaire de fichiers Nautilus, cliquez sur Autres emplacements dans le volet de gauche. En bas, vous verrez une option pour vous connecter au serveur. Pour accéder à votre partage Samba, saisissez smb: suivi de l'adresse IP du serveur Samba et appuyez sur Entrée. Par exemple: smb:192.168.0.102
Vous verrez une liste des ressources partagées sur le serveur Samba.
Si vous cliquez sur le dossier partagé privé, vous devrez alors saisir le nom d'utilisateur et le mot de passe Samba. Si vous cliquez sur le dossier partagé public, choisissez de vous connecter en tant qu'anonyme.
Si vous voyez le message d'erreur suivant,
failed to retrieve share list from server
Vous pouvez essayer de corriger cette erreur en montant le partage Samba à partir de la ligne de commande, comme indiqué ci-dessous. Monter automatiquement le partage Samba à partir de la ligne de commande sous Linux
Remarque : Le montage automatique du Partage Samba est effectué sur les clients. Ces commandes doivent être exécutées sur un client Samba, si le client Samba exécute Linux. Vous ne devriez pas le faire sur le serveur Samba lui-même.
Si vous devez monter automatiquement le partage Samba au moment du démarrage, vous pouvez utiliser la ligne de commande pour monter, puis ajouter une entrée dans le fichier /etc/fstab. Pour ce faire, vous devez installer le package cifs-utils.
CentOS/RHEL
sudo dnf install cifs-utils
Debian/Ubuntu
sudo apt install cifs-utils
Créez ensuite un point de montage pour le partage Samba.
sudo mkdir /mnt/samba-private
Vous pouvez maintenant utiliser la commande suivante pour monter un dossier partagé privé.
sudo mount -t cifs -o username=your_samba_username 192.168.0.102/private /mnt/samba-private/ Il vous demandera de saisir le mot de passe Samba. Après cela, il sera monté dans le répertoire /mnt/samba-private/. Pour monter automatiquement le partage Samba, éditez le fichier /etc/fstab. sudo nano /etc/fstab Ajoutez la ligne suivante dans le fichier. 192.168.0.102/private /mnt/samba-private cifs x-systemd.automount,_netdev,credentials=/etc/samba-credential.conf,uid=1000,gid=1000,x-gvfs-show 0 0
Où :
//192.168.0.102/private : l'adresse IP du serveur Samba et le nom du partage. /mnt/samba-private : point de montage du partage Samba. cifs : type de système de fichiers x-systemd.automount : cette option indique à systemd de créer une unité de montage automatique pour le système de fichiers. Nous l'utilisons car cela garantit que le système de fichiers distant est monté uniquement après un accès au réseau. _netdev : ceci spécifie que le montage nécessite un réseau. credentials= : Linux doit rechercher les informations d'identification dans le fichier /etc/samba-credential.conf. uid=1000,gid=1000 : par défaut, le système de fichiers monté appartiendrait à l'utilisateur root. Nous utilisons uid et gid pour changer la propriété du système de fichiers. Normalement, vous utilisez votre propre uid et votre gid, qui valent tous deux 1000 par défaut. x-gvfs-show : si vous utilisez l'environnement de bureau GNOME ou ses dérivés, vous pouvez utiliser cette option pour afficher le système de fichiers monté dans le gestionnaire de fichiers.
Enregistrez et fermez le fichier. Créez ensuite le fichier d’informations d’identification.
sudo nano /etc/samba-credential.conf
Ajoutez les lignes suivantes dans le fichier.
username=your_samba_username password=samba_password domain=WORKGROUP
Enregistrez et fermez le fichier. Assurez-vous que seul l'utilisateur root peut lire ce fichier.
sudo chmod 600 /etc/samba-credential.conf
Si vous redémarrez votre ordinateur Linux maintenant, le partage Samba sera automatiquement monté. Vous pouvez également exécuter la commande suivante pour monter le partage Samba sans redémarrage.
sudo mount -a
Si vous voyez l'erreur d'autorisation refusée et que vous pouvez trouver la ligne suivante en exécutant la commande sudo dmesg,
VFS: cifs_mount failed w/return code = -13
c'est probablement parce que vous avez une faute de frappe dans le fichier /etc/samba-credential.
Lectures complémentaires : Comment monter automatiquement des systèmes de fichiers sous Linux.
Vous ne parvenez pas à écrire sur le partage Samba ?
Le montage CIFS décrit ci-dessus vous permet d'écrire sur le partage Samba. Si vous voyez l'erreur suivante lors de la création d'un fichier :
Read-only file system
Vérifiez que vous avez défini writable=yes dans le fichier de configuration Samba. Parfois, le dossier partagé Samba se trouve sur un disque dur externe, alors assurez-vous de monter le disque dur externe en mode lecture-écriture sur le serveur Samba. Par exemple, j'ai monté mon disque dur btrfs avec la ligne suivante dans /etc/fstab.
LABEL=5TB /mnt/5TB btrfs defaults 0 0
Il s'avère que l'option defaults n'autorise pas l'opération d'écriture. Pour le rendre accessible en écriture, ajoutez l'option rw.
LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0
Démontez ensuite le disque dur. Vous devez utiliser votre propre point de montage.
sudo umount /mnt/5TB
Et remontez-le.
sudo mount -a
Conseil de dépannage
Si votre serveur Samba ne fonctionne pas comme prévu, vous pouvez vérifier les fichiers journaux dans le répertoire /var/log/samba/. Vous pouvez ajouter la ligne suivante dans la section [global] du fichier /etc/samba/smb.conf pour augmenter le niveau de journalisation si vous souhaitez enregistrer plus d'informations.
log level = 2
Une astuce simple pour améliorer les performances de Samba
Vous pouvez activer l'algorithme TCP BBR pour améliorer les performances du réseau du serveur.
Améliorez facilement les performances du réseau Ubuntu en activant TCP BBR
Debian/Ubuntu
sudo apt install cifs-utils
Créez ensuite un point de montage pour le partage Samba.
sudo mkdir /mnt/samba-private
Vous pouvez maintenant utiliser la commande suivante pour monter un dossier partagé privé.
sudo mount -t cifs -o username=your_samba_username 192.168.0.102/private /mnt/samba-private/ Il vous demandera de saisir le mot de passe Samba. Après cela, il sera monté dans le répertoire /mnt/samba-private/. Pour monter automatiquement le partage Samba, éditez le fichier /etc/fstab. sudo nano /etc/fstab Ajoutez la ligne suivante dans le fichier. 192.168.0.102/private /mnt/samba-private cifs x-systemd.automount,_netdev,credentials=/etc/samba-credential.conf,uid=1000,gid=1000,x-gvfs-show 0 0
Où :
//192.168.0.102/private : l'adresse IP du serveur Samba et le nom du partage. /mnt/samba-private : point de montage du partage Samba. cifs : type de système de fichiers x-systemd.automount : cette option indique à systemd de créer une unité de montage automatique pour le système de fichiers. Nous l'utilisons car cela garantit que le système de fichiers distant est monté uniquement après un accès au réseau. _netdev : ceci spécifie que le montage nécessite un réseau. credentials= : Linux doit rechercher les informations d'identification dans le fichier /etc/samba-credential.conf. uid=1000,gid=1000 : par défaut, le système de fichiers monté appartiendrait à l'utilisateur root. Nous utilisons uid et gid pour changer la propriété du système de fichiers. Normalement, vous utilisez votre propre uid et votre gid, qui valent tous deux 1000 par défaut. x-gvfs-show : si vous utilisez l'environnement de bureau GNOME ou ses dérivés, vous pouvez utiliser cette option pour afficher le système de fichiers monté dans le gestionnaire de fichiers.
Enregistrez et fermez le fichier. Créez ensuite le fichier d’informations d’identification.
sudo nano /etc/samba-credential.conf
Ajoutez les lignes suivantes dans le fichier.
username=your_samba_username password=samba_password domain=WORKGROUP
Enregistrez et fermez le fichier. Assurez-vous que seul l'utilisateur root peut lire ce fichier.
sudo chmod 600 /etc/samba-credential.conf
Si vous redémarrez votre ordinateur Linux maintenant, le partage Samba sera automatiquement monté. Vous pouvez également exécuter la commande suivante pour monter le partage Samba sans redémarrage.
sudo mount -a
Si vous voyez l'erreur d'autorisation refusée et que vous pouvez trouver la ligne suivante en exécutant la commande sudo dmesg,
VFS: cifs_mount failed w/return code = -13
c'est probablement parce que vous avez une faute de frappe dans le fichier /etc/samba-credential.
Lectures complémentaires : Comment monter automatiquement des systèmes de fichiers sous Linux.
Vous ne parvenez pas à écrire sur le partage Samba ?
Le montage CIFS décrit ci-dessus vous permet d'écrire sur le partage Samba. Si vous voyez l'erreur suivante lors de la création d'un fichier :
Read-only file system
Vérifiez que vous avez défini writable=yes dans le fichier de configuration Samba. Parfois, le dossier partagé Samba se trouve sur un disque dur externe, alors assurez-vous de monter le disque dur externe en mode lecture-écriture sur le serveur Samba. Par exemple, j'ai monté mon disque dur btrfs avec la ligne suivante dans /etc/fstab.
LABEL=5TB /mnt/5TB btrfs defaults 0 0
Il s'avère que l'option defaults n'autorise pas l'opération d'écriture. Pour le rendre accessible en écriture, ajoutez l'option rw.
LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0
Démontez ensuite le disque dur. Vous devez utiliser votre propre point de montage.
sudo umount /mnt/5TB
Et remontez-le.
sudo mount -a
Conseil de dépannage
Si votre serveur Samba ne fonctionne pas comme prévu, vous pouvez vérifier les fichiers journaux dans le répertoire /var/log/samba/. Vous pouvez ajouter la ligne suivante dans la section [global] du fichier /etc/samba/smb.conf pour augmenter le niveau de journalisation si vous souhaitez enregistrer plus d'informations.
log level = 2
Une astuce simple pour améliorer les performances de Samba
Vous pouvez activer l'algorithme TCP BBR pour améliorer les performances du réseau du serveur.
Améliorez facilement les performances du réseau Ubuntu en activant TCP BBR
