Partage de fichiers sous Linux avec SAMBA
Installer le serveur Samba
sudo yum install samba
Paramétrer
Samba utilise la configuration présente dans le fichier /etc/samba.smb.conf
.
A chaque modification il sera nécessaire de redémarrer le service Samba pour que les modifications soient prises en compte :
sudo service smb restart
Configuration générale
Ci-dessous, un exemple de configuration de paramétrage du service, de manière globale.
[global] workgroup = workgroup netbios name = srv05 server string = serveur $h (Samba %v, Fedora) log file = /var/log/samba/log.%m max log size = 50 hide files = /lost+found/ dns proxy = no security = USER
L'option security = USER
impose deux choses que nous allons traiter ci-dessous :
- avoir un compte Linux
- avoir un compte Samba
Les utilisateurs des dossiers partagés auront un groupe commun : sambausers
Créer un groupe
Dans cet exemple, je créé un groupe nommé sambausers
.
sudo groupadd sambausers
Créer un compte Linux
On peut créer un compte utilisateur qui n'a pas besoin ni de se connecter à un shell, ni avoir un dossier de travail personnel. Prenons l'exemple de fanny
:
sudo useradd --s /bin/false -d /dev/null -g sambausers fanny
On remarquera que le shell se nomme /bin/false
et le dossier personnel pointe vers dev/null
.
Ajouter un utilisateur à un groupe
Si l'utilisateur Jean
a déjà un compte Linux, on pourra lui ajouter le groupe sambausers
grâce à la commande usermod
.
sudo usermod -aG sambausers jean
Création d'un utilisateur Samba
Avec l'option USER
, les utilisateurs Linux doivent avoir un compte Samba. On utilise la commande pdbedit
.
sudo pdbedit -a jean
On peut également utiliser la commande smbpasswd
pour gérer uniquement les mots de passe. Par exemple :
sudo smbpasswd -a jean sudo smbpasswd -e jean
Configuration spécifique : partage de dossier
Pour créer un dossier partagé sous Linux, il faut ajouter une section dans le fichier /etc/samba/smb.conf
.
[media] browsable = yes comment = Disques DATA partages path = /media writable = yes create mask = 0765 hosts allow = 127.0.0.1 192.168.100.0/24 valid users = @sambausers
Dans cet exemple :
[media] | Le partage va s'appeler media |
comment = Disques DATA partages | Permet d'afficher des commentaires |
path = /media | Chemin d'accès au dossier sur le serveur Linux |
writable = yes | |
create mask = 0765 | |
hosts allow = 127.0.0.1 192.168.100.0/24 | |
valid users = @sambausers | Tous les utilisateurs ayant le groupe sambausers pourront utiliser cette ressource. |
Appliquer les modifications de configuration
A chaque modification de la configuration SAMBA, par le fichier /etc/samba/smb.conf
, il faut tester le configuration et appliquer les changements au service.
testparm -s sudo service smb restart
Modifier le parfeu
Ne pas oublier de modifier le parfeu afin qu'il accepte les connexions entrantes pour le service Samba : 139, 445, 137 et 138.
Radicalement, on peut également désactiver le parfeu :
sudo systemctl stop firewalld.service
Automatiser le démarrage du service Samba
Il faut automatiser le démarrage du service Samba au démarrage de l'ordinateur. Utiliser le Service Configuration (system-config-services).
Samba Client - l'utilitaire client
Lister les ressources disponibles
smbclient -L //localhost -U fanny
Se connecter à une ressource
smbclient //localhost/media -U fanny