Les partages de fichiers sont importants pour la collaboration dans n'importe quel réseau. Dans cette série d'articles, je vais vous montrer comment Samba peut vous aider à configurer et à servir des partages de fichiers sur des serveurs Linux accessibles depuis les clients Linux et Windows.
Qu'est-ce que Samba ?
Avant de plonger et de configurer des partages de fichiers, voyons ce qu'est Samba et ce qu'il peut faire pour vous.
Samba est une suite d'applications qui implémente le protocole Server Message Block (SMB). De nombreux systèmes d'exploitation, dont Microsoft Windows, utilisent le protocole SMB pour la mise en réseau client-serveur. Samba permet aux machines Linux/Unix de communiquer avec des machines Windows dans un réseau.
Samba est un logiciel open source. À l'origine, Samba a été développé en 1991 pour un partage rapide et sécurisé de fichiers et d'impressions pour tous les clients utilisant le protocole SMB. Depuis lors, il a évolué et ajouté plus de fonctionnalités. Aujourd'hui, Samba fournit une suite d'applications permettant une mise en réseau transparente et une interopérabilité entre *nix et Windows.
Installez les packages Samba
Dans cet exemple, j'utilise CentOS 8 avec le nom d'hôte centos
comme mon serveur Samba avec une adresse IP de 192.168.1.122. Le seul paquet que vous devrez installer est Samba, mais j'aimerais inclure d'autres outils clients comme samba-common
et samba-client
pour tester nos partages plus tard.
# yum install samba samba-client samba-common -y
Créez un répertoire à partager et définissez ses autorisations
Une fois que vous avez installé les packages requis sur le serveur, créons un répertoire et fournissons les autorisations requises sur le répertoire. Créez un répertoire appelé share
sur notre répertoire racine. Vous pouvez nommer ce répertoire comme vous le souhaitez et lui donner les autorisations de lecture, d'écriture et d'exécution. Dans cet exemple, nous nous baserons sur la configuration de Samba pour contrôler l'accès en lecture et en écriture au répertoire partagé.
# mkdir /share
# chmod -R 777 /share
Configurer un partage
Maintenant que nous avons installé les packages nécessaires, il est temps de configurer le répertoire partagé. Le fichier de configuration se trouve sous /etc/samba
. À l'aide de votre éditeur de texte préféré, ajoutez ce qui suit à /etc/samba/smb.conf
. Laissez le reste du fichier de configuration tel quel et cela devrait être bon pour notre configuration.
# vim /etc/samba/smb.conf
[myshare]
comment = My share
path = /share
read only = No
J'ai créé un partage appelé myshare
et fourni un chemin vers le partage, qui dans notre cas se trouve à /share
. Je lui ai ensuite donné des autorisations de lecture/écriture avec read only = No
. Il existe de nombreux autres paramètres de configuration que vous pouvez transmettre ici, mais pour notre configuration, ces paramètres sont bons.
Vérifiez la configuration de Samba
Samba fournit un outil pour vérifier notre fichier de configuration. Nous pouvons vérifier si notre fichier de configuration contient des erreurs en utilisant le testparm
commande.
# testparm
Ensuite, nous devons créer un compte utilisateur Samba, afin que Samba puisse communiquer dans les sessions Samba avec des partages. Le smbpasswd
La commande a plusieurs fonctions selon que vous exécutez la commande en tant que root
ou en tant qu'utilisateur standard. Si vous émettez smbpasswd
sans aucun argument en tant que non-root
utilisateur, par défaut smbpasswd
modifiera le mot de passe Samba de l'utilisateur actuellement connecté. Lorsque vous exécutez smbpasswd
commande en tant que root
, vous pourrez créer de nouveaux comptes Samba. Vous pouvez créer un compte Samba uniquement pour les comptes utilisateur Linux existants.
# smbpasswd -a user
New SMB password:
Retype new SMB password:
Nous devons configurer SELinux sur le /share
répertoire afin que le service Samba dispose des autorisations appropriées.
# semanage fcontext -a -t samba_share_t "/share(/.*)?"
# restorecon -R -v /share
Ensuite, nous devons activer et démarrer le smb
et nmb
services.
# systemctl enable smb
# systemctl start smb
#systemctl enable nmb
#systemctl start nmb
Si vous avez firewalld
s'exécutant sur votre serveur, nous devons le configurer pour autoriser le trafic Samba. Vous pouvez le faire en utilisant le firewall-cmd
commande. N'oubliez pas de rendre ces modifications permanentes et de recharger firewalld
.
Maintenant, nos services sont activés et démarrés. Nous pouvons vérifier si le partage est disponible depuis le serveur en utilisant le smbclient
outil. C'est la raison pour laquelle j'ai installé les outils client Samba sur la machine locale. La commande utilise la syntaxe suivante :
smbclient -U
# smbclient -U user -L 192.168.1.122
Enter SAMBA\user's password:
Vérifions si nous pouvons accéder au partage en exécutant la commande suivante sur le serveur :
# smbclient -U user //192.168.1.122/myshare
Enter SAMBA\user's password:
Try "help" to get a list of possible commands.
smb: \>
Conclusion
Nous avons installé et configuré le service de partage de fichiers Samba sur notre serveur Linux. Nous avons pu accéder à ces partages sur la machine locale. Dans le prochain article, nous configurerons un client Linux et un client Windows 10 pour accéder au partage que nous venons de créer.
[ Vous voulez en savoir plus sur l'administration système Linux ? Suivez un cours d'administration système Red Hat. ]