Description
La suite Samba est un ensemble de programmes qui implémentent un serveur pour les protocoles de partage de fichiers, d’imprimantes Windows (SMB / CIFS ) ainsi que de contrôleur de domaine compatible avec Active Directory.
- Site web : https://www.samba.org/
- OS : *OpenBSD
6.3, 6.4, 6.5, 6.6 ,6.7, 6.8 - Version installée :
- 6.6, 6.7, 6.8 : 4.9.18
6.4, 6.5 : 4.8.5p1, 4.8.11p0
Installation
Un petit pkg_add samba
suffit ! :D
Gestion des utilisateurs
Il faut créer un premier utilisateur qui sera autorisé :
# pdbedit -a -u $user
La commande pdbedit
est utile pour gérer, non seulement les utilisateurs
mais aussi pour vérifier certaines choses, grâce au jeu des options :
-
-a
ou--create
: pour créer un nouvel utilisateur ; il est nécessaire d’ajouter l’option-u
avant de spécifier le nom de l’utilisateur -
-L
ou--list
liste les différents utilisateurs gérés, dans un format simple, abrégé. -
-L -v
affiche toutes les informations liées aux différentes informations utilisateurs, de manière complète. La version contractée-Lv
est fonctionnelle. -
-c
ou--account-control
permet de spécifier les propriétés du compte utilisateur… plusieurs drapeaux définissent le contrôle -
-D
ou--drive
permet de définir la lettre de mappage du lecteur réseau à utiliser, tel que-D "H: "
-
-h
ou--homedir
permet de redéfinir le chemin réseau du répertoire personnel d’un utilisateur -
-l
ou--log-basename=/repertoire_des_logs
spécifie le répertoire du fichier journal -
-s
ou--configfile=nom_de_fichier_config
spécifie le fichier de configuration. -
-v
ou--verbose
est le mode verbeux
Bien sûr, il existe d’autres options intéressantes ; lisez le manpage, installé en même temps que le logiciel samba.
Configuration
Contrairement à ce qu’on pense, la configuration n’est pas compliquée - un peu longue, mais pas compliquée ;)
wins:*
- laissez-les commenter !Tout se fait principalement dans le fichier /etc/samba/smb.conf
:
Fichier : /etc/samba/smb.conf
|
|
Les options importantes en terme de sécurité sont :
hosts allow
permet de restreindre l’accès à un réseau local, une adresse IP précise, et empêchera tout autre hôte à se connecter.interfaces
permet de cibler sur quelle interface réseau les services de Samba seront diffusés et autorisés.valid users
permet de spécifier quels utilisateurs ou groupe d’utilisateurs ont le droit d’accéder aux différents partages, ou services fournis.
Garder à l’esprit que le fichier de configuration est, de base, minimaliste, et dans l’état n’offre aucune sécurité !
J’attire votre attention sur le manpage très long de smb.conf(5), disponible de par l’installation du paquet samba.
Pour les besoins de test de fonctionnement, ne pas toucher au reste de la configuration…
Test
La commande testparm
est utile pour vérifier que le configuration du
fichier soit correcte.
À exécuter AVANT de démarrer le service, et APRÈS toute modification…
Limites systèmes
Il est nécessaire de reconfigurer les limites systèmes en éditant :
- le fichier
/etc/login.conf
pour y ajouter le bloc suivant :
Code : cfg
samba:\ :openfiles-max=16384:\ :tc=daemon:
- le fichier
/etc/sysctl.conf
pour modifier de manière permanentekern.maxfiles
:
kern.maxfiles=16384
Ces modifications systèmes nécessitent au plus simple de redémarrer votre machine !
PF
Les règles pour le pare-feu PF sont très simples à paramétrer :
Code : cfg
# lan: IPv4
lan="192.168.1.0/24"
# adress IPv4 of my host
myhost="192.168.1.1"
smb_ports_tcp = "{ 135 137 139 445 }"
smb_ports_udp = "{ 135 137 138 445 }"
(...)
pass in quick on egress proto tcp from $lan to $myhost port $smb_ports_tcp flags S/SA modulate state
pass in quick on egress proto udp from $lan to $myhost port $smb_ports_udp allow-opts
pass in quick on egress inet proto udp from $myhost to $lan port 138 allow-opts
pass out quick on egress proto tcp from $myhost to $lan port $smb_ports_tcp flags S/SA modulate state
pass out quick on egress proto udp from $myhost to $lan port $smb_ports_udp allow-opts
Elles sont à configurer et sur le serveur Samba, et sur votre station.
Bien sûr, ces règles sont un exemple ; il faut les adapter à vos besoins.
Dépannage
6.5: smbd(timeouts)
Sous OpenBSD 6.5, il y a un problème avec le lancement de Samba, créant des
timeouts
.
J’explique sur le forum de la communauté française “OpenBSD Pour Tous” la raison et le fait qu’il est nécessaire de lancer à nouveau le service samba ; pas de le relancer, juste le démarrer !
Code : shell
# rcctl start samba
smbd(timeout)
# rcctl check samba
smbd(ok)
nmbd(failed)
# rcctl start samba
nmbd(ok)
#rcctl check samba
smbd(ok)
nmbd(ok)
Il est possible de vérifier que les processus soient bien lancés :
$ ps auxw | grep mbd
(faites le après le timeout et après la deuxième exécution du start, vous comprendrez !)
Documentations
Manpages
Samba
Ainsi que le met en exergue le manpage de smb.conf
, il est fortement
conseillé de lire les deux guides suivants, fournis par le projet :
- Sur le wiki officiel
- le Guide Samba-HOWTO-Collection à-propos des différentes étapes d’installation, de configuration et d’usage de Samba.
- le Guide Samba qui fournit beaucoup d’exemples…
Ces guides sont basés sur Samba v3. Et, même si nous utilisons une version supérieure, il y a toujours quelque chose de bon à en tirer, à en apprendre…
Localement sur le système, retrouvez les fichiers de :
- documentation :
/usr/local/share/doc/samba
- et d’exemples :
/usr/local/share/examples/samba
Enjoy-ID
Enjoy-IT!