dans ce tutoriel, nous allons apprendre à installer et configurer un serveur Samba sur Ubuntu pour partager des fichiers sur le réseau local. Samba est une implémentation de protocole SMB/CIFS libre et open-source pour Unix et Linux qui permet le partage de fichiers et d’impressions entre les 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 servent des objectifs différents mais connexes, dont les deux plus importants sont:
- smbd: fournit un service SMB / CIFS (partage de fichiers et impression), peut également agir comme un contrôleur de domaine Windows.
- nmbd: ce démon fournit le service de noms NetBIOS, écoute les requêtes de serveur de noms. Il permet également au serveur Samba d’être trouvé par d’autres ordinateurs du réseau.
Comment Installer un Serveur Samba sous Ubuntu
Samba est inclus dans la plupart des distributions Linux. Pour installer Samba sur Ubuntu, exécutez simplement la commande suivante dans terminal.,
sudo apt install samba samba-common-bin
la dernière version stable disponible est la 4.12.0, sortie le 03 mars 2019. Pour vérifier votre Samba version, run
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 commencer ces deux services, exécutez la commande suivante:
sudo systemctl start smbd nmbd
une Fois commencé, smbd
sera à l’écoute sur le port TCP 139 et 445. nmbd
sera à l’écoute sur les ports UDP 137 et 138.,
- TCP 139: utilisé pour le partage de fichiers et imprimantes et d’autres opérations.
- TCP 445: le port CIFS sans NetBIOS.
- UDP 137: utilisé pour la navigation réseau NetBIOS.
- UDP 138: utilisé pour le service de noms NetBIOS.
Si vous avez activé le pare-feu UFW sur Ubuntu, vous devez 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 entre Nom d’utilisateur et mot de passe pour y accéder., Le fichier de configuration principal de Samba se trouve à: /etc/samba/smb.conf
. Vous pouvez le modifier dans terminal avec un éditeur de texte en ligne de commande comme nano
.
sudo nano /etc/samba/smb.conf
Dans le section, assurez-vous que la valeur de
workgroup
est le même avec les paramètres du groupe de travail de Windows ordinateurs.,
workgroup = WORKGROUP
Vous pouvez trouver la configuration sur votre ordinateur Windows en allant dans Control Panel
> System and Security
> System
.
Ensuite, faites défiler vers le bas du fichier. (Dans nano text editor, vous pouvez y parvenir en appuyant sur CTRL+W
puis CTRL+V
. ) Ajouter une nouvelle section comme ci-dessous.,
Explication:
-
Private
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 un exemple. Vous pouvez également utiliser un dossier dans votre répertoire personnel. -
browseable = yes
: permet aux autres ordinateurs du réseau de voir le serveur Samba et le partage Samba., Si non, les utilisateurs doivent connaître le nom du serveur Samba manuellement, puis entrez un chemin d’accès dans le gestionnaire de fichiers pour accéder au dossier partagé. -
guest ok = no
: Désactiver l’accès invité. En d’autres termes, vous devez entrer le nom d’utilisateur et mot de passe sur l’ordinateur client pour accéder au dossier partagé. -
writable = yes
: accorde l’autorisation de lecture et d’écriture aux clients. -
valid users = @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 nano text editor, appuyez sur Ctrl+O
, puis appuyez sur Entrée pour confirmer le nom du fichier à écrire. Pour fermer le fichier, appuyez sur Ctrl+X
.) Maintenant, nous devons créer un utilisateur Samba. Tout d’abord, nous devons créer un compte utilisateur Linux standard avec la commande suivante. Remplacez username
par votre 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 séparé pour le nouvel utilisateur avec la commande suivante:
sudo smbpasswd -a username
créez le groupe samba.
sudo groupadd samba
Et ajouter l’utilisateur au groupe de samba.
sudo gpasswd -a username samba
créez le dossier de partage privé.
sudo mkdir -p /srv/samba/private/
le groupe samba doit disposer d’une autorisation 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 n’a pas la commandesetfacl
, vous devez installer le packageacl
avecsudo apt install acl
.)
sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/
Ensuite, exécutez la commande suivante pour vérifier si il y a des erreurs syntaxiques.
testparm
Maintenant, tout reste à faire est de redémarrer smbd
et nmbd
démon.,
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 modesecurity = share
, mais ce mode de sécurité est obsolète. Il est fortement suggéré d’éviter le modeshare
. - définissez
map to guest = bad user
dans la section globale du fichier de configuration Samba., Cela entraînera l’utilisation d’un compte invité parsmbd
pour authentifier les clients qui n’ont pas de compte enregistré sur le serveur Samba. Comme il s’agit d’un compte invité, les clients Samba n’ont pas besoin d’entrer 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 car 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 le section, assurez-vous que la valeur de
workgroup
est le même avec les paramètres du groupe de travail de Windows ordinateurs.
workgroup = WORKGROUP
Vous pouvez trouver la configuration sur votre ordinateur Windows en allant dans Control Panel
> System and Security
> System
.,
Ensuite, faites défiler vers le bas du fichier et collez les lignes suivantes.
Enregistrez et fermez le fichier. Ensuite, créez le dossier/srv/samba/public/
.
sudo mkdir -p /srv/samba/public
Ensuite, assurez-vous que le nobody
compte a lecture, d’écriture et d’exécution de l’autorisation sur le dossier public en exécutant la commande suivante. (Si votre système n’a pas la commandesetfacl
, vous devez installer le packageacl
avecsudo apt install acl
.,)
sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/
Redémarrer smbd et nmbd.
sudo systemctl restart smbd nmbd
accès au dossier partagé Samba à partir de Windows
sur un ordinateur Windows qui se trouve dans le même réseau, ouvrez L’Explorateur de fichiers et cliquez surNetwork
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, entrez dans le \\
suivi de l’adresse IP du serveur Samba dans la barre d’adresse de l’Explorateur de Fichier, comme ceci: \\192.168.0.102
., Vous verrez une liste des ressources partagées sur le serveur Samba.
Ensuite, double-cliquez sur le dossier partagé. Pour accéder au partage privé, vous devez entrer 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 la Samba dossier partagé.
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, se connecter 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, allez dans l’onglet Réseau dans l’Explorateur de Fichiers, et vous devriez être en mesure d’accéder au partage Samba.
Mappage de Lecteur sur Windows
Une fonctionnalité du système d’exploitation Windows, la possibilité de mapper une lettre de lecteur (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. Ensuite, choisissez une lettre de lecteur et cliquez sur Terminer.
Une fois le mappage du lecteur établi, les applications peuvent accéder aux fichiers du partage Samba via la lettre du lecteurS:
. Et ce partage Samba sera automatiquement monté lorsque vous vous connectez à votre ordinateur Windows.,
accès au dossier Samba Share dans le Gestionnaire de fichiers Nautilus sous Linux
Si vous utilisez le Gestionnaire de fichiers Nautilus, cliquez surOther Locations
dans le volet de gauche. En bas, vous verrez une option pour vous connecter au serveur. Pour accéder à votre partage Samba, tapez 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 de ressources partagées sur le serveur Samba.,
Si vous cliquez sur le dossier partagé privé, vous devrez entrer le nom d’utilisateur et le mot de passe Samba. Si vous cliquez sur le dossier partagé, puis choisissez de vous connecter en tant qu’Anonyme.
monter automatiquement Samba Share À partir de la ligne de commande sous Linux
Si vous devez monter automatiquement le Samba share au démarrage, vous pouvez utiliser la ligne de commande pour monter et ajouter une entrée dans le fichier/etc/fstab
. Pour ce faire, vous devez installer le packagecifs-utils
.,
CentOS/RHEL
sudo dnf install cifs-utils
Debian/Ubuntu
sudo apt install cifs-utils
Ensuite créer un point de montage pour le partage Samba.
sudo mkdir /mnt/samba-private
Maintenant, vous pouvez utiliser la commande suivante pour monter un dossier privé partagé.
sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/
il vous demandera d’entrer le mot de passe Samba. Après cela, il sera monté dans le répertoire/mnt/samba-private/
.
Pour monter automatiquement le partage Samba, edition /etc/fstab
fichier.
sudo nano /etc/fstab
Ajoutez la ligne suivante dans le fichier.,
Où:
- //192.168.0.102/privé: l’adresse IP du serveur Samba et le nom de partage.
- /mnt/samba-private: point de montage pour la part Samba.
- cifs: type de système de fichiers
- x-systemd.automount: cette option indique à systemd de créer une unité automount pour le système de fichiers. Nous l’utilisons car il garantit que le système de fichiers distant n’est monté qu’après l’accès au réseau.
- _netdev: indique que le montage nécessite un réseau.
- credentials=: Linux doit rechercher des informations d’identification dans le fichier
/etc/samba-credential.conf
., - uid=1000,gid=1000: par défaut, le système de fichiers monté appartient à 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 gid, qui sont 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_usernamepassword=samba_passworddomain=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 ne pouvez 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 définissez writable = yes
dans le fichier de configuration Samba., Parfois, la Samba dossier partagé se trouve sur un disque dur externe, assurez-vous de monter le disque dur externe en 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 le defaults
option ne pas autoriser l’opération d’écriture. Pour le rendre accessible en écriture, ajoutez l’optionrw
.
LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0
Puis démonter le disque dur. Vous devez utiliser votre propre point de montage.
sudo umount /mnt/5TB
Et de le monter à nouveau.,
sudo mount -a
Astuce de Dépannage
Si votre serveur Samba ne fonctionne pas comme prévu, vous pouvez vérifier les fichiers log dans /var/log/samba/
répertoire. Vous pouvez ajouter la ligne suivante dans la section du fichier
/etc/samba/smb.conf
pour augmenter le niveau de journal si vous souhaitez enregistrer plus d’informations.
log level = 2
Habillage
C’est elle! J’espère que ce tutoriel vous a aidé à configurer Samba server sur Ubuntu. Comme toujours, si vous avez trouvé ce message utile, alors abonnez-vous à notre newsletter gratuite., Et vous pouvez aussi lire l’article suivant pour partager l’imprimante sur le réseau local.
- mettre en Place des TASSES Serveur d’Impression sur Ubuntu (Bonjour, IPP, Samba, AirPrint)