Vous pouvez configurer le serveur SAMBA en éditant le fichier /etc/samba/smb.conf
pour modifier les paramètres par défaut ou en ajouter de nouveaux. Des informations supplémentaires sur chaque paramètre sont disponibles dans les commentaires du fichier /etc/samba/smb.conf
ou en lisant le manuel du fichier /etc/samba/smb.conf
en entrant la commande suivante dans un terminal :
man smb.conf
![]() |
|
Avant de modifier le fichier de configuration, vous devriez faire une copie du fichier original et le protéger contre l'écriture afin de conserver les paramètres originaux en référence et ainsi les réutiliser si nécessaire. |
Sauvegardez le fichier /etc/samba/smb.conf
:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
Maintenant, éditez le fichier /etc/samba/smb.conf
et effectuez vos modifications.
En complément de la suite d'applications serveur SAMBA de partage de fichiers et d'imprimantes, Ubuntu inclut aussi d'autres applications serveur puissantes destinées à fournir des fonctionnalités réseau supplémentaires et similaires à celles fournies par les serveurs Windows aux clients Windows. Par exemple, Ubuntu offre une gestion centralisée des ressources réseau telles que les ordinateurs ou les utilisateurs grâce à Directory Services (services d'annuaire), et facilite l'identification et la gestion des permissions des ordinateurs et des utilisateurs grâce à Authentication Services (services d'authentification).
Les sections suivantes évoqueront plus en détails SAMBA et les technologies associées, telles que le serveur Lightweight Directory Access Protocol (LDAP) ou le serveur d'authentification Kerberos. Vous apprendrez aussi quelques directives de configuration disponibles pour SAMBA qui facilitent l'intégration dans un réseau comportant des clients et des serveurs Windows.
Active Directory est une implémentation propriétaire de Microsoft des services d'annuaire et est utilisé pour partager l'information sur les ressources du réseau et ses utilisateurs. En plus de fournir une source centralisée de cette information, Active Directory agit aussi comme une autorité centralisée de sécurité et d'authentification pour le réseau. Active Directory, qui combine des capacités traditionnellement trouvées dans des systèmes d'annuaire distincts et spécialisés, simplifie l'intégration, la gestion et la sécurité des ressources réseau. Le paquet SAMBA peut être configuré pour utiliser les services Active Directory d'un contrôleur de domaine Windows.
L'application serveur LDAP fournit les fonctionnalités de service d'annuaire (Directory Services) aux ordinateurs Windows d'une manière très similaire aux services Microsoft Active Directory. Ces services comprennent la gestion des identités et des relations entre ordinateurs, utilisateurs, et groupes d'ordinateurs ou d'utilisateurs qui font partie du réseau. Ils procurent une manière cohérente de décrire, localiser et gérer ces ressources. L'implémentation libre de LDAP disponible pour votre système Ubuntu se nomme OpenLDAP. Sur Ubuntu, les processus serveur responsables du traitement des requêtes OpenLDAP et de la propagation des données d'un serveur LDAP à un autre sont slapd et slurpd. OpenLDAP peut être utilisé conjointement avec SAMBA pour fournir les services de partage des fichiers, d'imprimantes et les services d'annuaire tout comme le ferait un contrôleur de domaine Windows pour autant que SAMBA soit compilé avec le support LDAP.
Le système de sécurisation des authentifications Kerberos est un service standardisé fournissant une authentification aux ordinateurs et aux utilisateurs par l'intermédiaire d'un serveur centralisé qui accorde des tickets d'autorisation cryptés. Ceux-ci sont acceptés comme authentification par tout autre ordinateur utilisant Kerberos. Parmi les avantages de l'authentification avec Kerberos, on peut citer l'authentification réciproque, l'authentification par procuration, l'interopérabilité et une gestion simplifiée des relations de confiance. Les processus serveurs principaux qui gèrent l'authentification Kerberos et l'administration de la base de données Kerberos sous Ubuntu sont krb5kdc et kadmin. SAMBA peut utiliser Kerberos comme mécanisme pour authentifier des ordinateurs et des utilisateurs aux côtés d'un contrôleur de domaine Windows. À cette fin, il faut que Kerberos soit installé sur le système Ubuntu, et le fichier /etc/samba/smb.conf
doit être modifié pour choisir le mode convenable de realm et security. Par exemple, modifiez le fichier /etc/samba/smb.conf
et ajoutez les valeurs :
realm = NOM_DOMAINE
security = ADS
dans le fichier, et enregistrez-le.
![]() |
|
Assurez-vous de remplacer l'expression NOM_DOMAINE de l'exemple ci-dessus par le nom réel de votre propre domaine Windows. |
Vous devrez redémarrer les démons SAMBA pour appliquer ces changements. Redémarrez les démons SAMBA en entrant la commande suivante dans un terminal :
sudo /etc/init.d/samba restart
Les comptes d'ordinateur sont utilisés dans Directory Services pour identifier de manière unique les ordinateurs d'un réseau, et sont traités de la même manière que les utilisateurs en terme de sécurité. Les comptes d'ordinateurs peuvent avoir des mots de passe tout comme les comptes utilisateurs, et font l'objet d'une autorisation pour accéder aux ressources du réseau. Par exemple, si un utilisateur du réseau avec un compte valide pour un réseau en particulier essaye de s'authentifier à partir d'un ordinateur qui n'a pas de compte d'ordinateur valide, suivant la politique mise en œuvre sur le réseau, il peut lui être refusé l'accès si cet ordinateur ne fait pas partie des ordinateurs autorisés.
Un compte d'ordinateur peut être ajouté au fichier de mots de passe SAMBA, pourvu que le nom de l'ordinateur à ajouter existe déjà comme un nom de compte d'utilisateur valide dans la base de données locale. Pour ajouter un compte d'ordinateur ou de machine au fichier de mots de passe SAMBA, il faut utiliser la commande smbpasswd dans un terminal comme ceci :
sudo smbpasswd -a -m NOM_ORDINATEUR
![]() |
|
Assurez-vous de remplacer la chaîne NOM_ORDINATEUR dans l'exemple ci-dessus par le nom de l'ordinateur pour lequel vous voulez ajouter un compte de machine. |
Les permissions de fichiers définissent les droits explicites qu'un ordinateur ou un utilisateur a sur un dossier, fichier ou groupe de fichiers particulier. De telles permissions peuvent être définies en éditant le fichier /etc/samba/smb.conf
et en spécifiant explicitement les permissions d'un partage de fichiers défini. Par exemple, si vous avez défini un partage SAMBA intitulé sourcedocs et souhaitez donner les droits en lecture seule au groupe d'utilisateurs appelé planning, mais souhaitez autoriser l'accès au partage en écriture par le groupe appelé auteurs et à l'utilisateur nommé richard, alors vous pouvez éditer le fichier /etc/samba/smb.conf
, et ajouter les lignes suivantes sous l'entrée [sourcedocs] :
read list = @planning
write list = @auteurs, richard
Sauvegardez /etc/samba/smb.conf
pour que les changements prennent effet.
Une autre possibilité pour les droits d'accès est de déclarer des permissions administratives pour une ressource partagée particulière. Les utilisateurs ayant des permissions administratives peuvent lire, écrire, ou modifier toute information contenue dans la ressource pour laquelle ils ont explicitement reçu ce type de droits. Par exemple, si vous voulez donner à l'utilisateur melissa des permissions administratives sur le partage sourcedocs de l'exemple, vous devez éditer le fichier /etc/samba/smb.conf
et ajouter la ligne suivante sous l'entrée [sourcedocs] :
admin users = melissa
Sauvegardez /etc/samba/smb.conf
pour que les changements prennent effet.
Ubuntu comporte des applications clientes et des capacités pour accéder aux ressources partagées grâce au protocole SMB. Par exemple, l'utilitaire nommé smbclient permet d'accéder aux systèmes de fichiers partagés à distance d'une façon similaire à un client FTP. Pour accéder à un répertoire partagé connu comme documents, proposé par un ordinateur sous Windows, nommé bill, on utilisera smbclient, avec une commande de ce type dans un terminal :
smbclient //bill/documents -U <nomutilisateur>
Le système vous demandera alors le mot de passe de l'utilisateur spécifié après le paramètre -U et après une authentification réussie, présentera une invite où l'on pourra entrer des commandes pour manipuler et transférer des fichiers dans une syntaxe similaire à celle utilisée dans les clients FTP non-graphique. Pour plus d'informations sur l'utilitaire smbclient, consultez sa page de manuel avec la commande :
man smbclient
Le programme smbfs permet aussi de monter localement des ressources réseau distantes à l'aide du protocole SMB.
Pour monter un dossier partagé appelé code-projet sur un serveur Windows appelé developpment en tant qu'utilisateur marcel sur le point de montage /mnt/pcode de votre système (le point de montage que vous choisirez doit être un dossier vide), vous devrez exécuter la commande suivante dans une console :
sudo mount -t smbfs -o username=marcel //developpement/code-projet /mnt/pcode
Il vous sera alors demandé d'entrer le mot de passe utilisateur, et après vous être authentifié, le contenu de la ressource partagée sera accessible localement via le point de montage spécifié par le dernier argument de la commande mount. Pour déconnecter la ressource partagée, utilisez simplement la commande umount comme vous le feriez avec n'importe quel autre système de fichiers monté. Par exemple :
sudo umount /mnt/pcode
Les comptes d'utilisateurs définissent des personnes avec un certain niveau d'autorisation pour utiliser un certain ordinateur et des ressources réseau. Typiquement, dans un environnement réseau, un compte d'utilisateur est fourni à chaque personne autorisée à accéder à un ordinateur ou à un réseau, où des politiques de sécurité et des permissions définissent alors de quels droits explicites ce compte d'utilisateur dispose. Pour définir des utilisateurs réseau SAMBA sur votre système Ubuntu, vous pouvez utiliser la commande smbpasswd. Par exemple, pour ajouter un utilisateur SAMBA à votre système Ubuntu avec le nom d'utilisateur toto, vous pourriez entrer ceci à l'invite de commande :
sudo smbpasswd -a jseinfeld
L'application smbpasswd vous demandera alors d'entrer un mot de passe pour l'utilisateur :
Nouveau mot de passe SMB :
Entrez le mot de passe que vous désirez attribuer à l'utilisateur, l'application smbpasswd vous demandera ensuite de confirmer le mot de passe :
Retapez le nouveau mot de passe SMB :
Confirmez le mot de passe et smbpasswd ajoutera une entrée pour l'utilisateur au fichier de mots de passe SAMBA.
Les Groupes définissent un ensemble d'ordinateurs ou d'utilisateurs qui ont un niveau d'accès commun à des ressources réseau particulières, et offrent une certaine granularité dans le contrôle d'accès à de telles ressources. Par exemple, si un groupe qa est défini et contient les utilisateurs freda, danika, et rob, et un second groupe support est défini et contient les utilisateurs danika, jeremy et vincent, alors les ressources réseau configurées pour autoriser l'accès au groupe qa seront accessibles à freda, danika et rob, mais pas à jeremy ou à vincent. Comme l'utilisateur danika appartient aux deux groupes qa et support, elle aura accès aux ressources configurées comme accessibles par les deux groupes, tandis que tous les autres utilisateurs n'auront accès qu'aux ressources autorisant explicitement le groupe dont ils font partie.
Lors de la définition de groupes dans le fichier de configuration de SAMBA, /etc/samba/smb.conf
, la syntaxe reconnue est l'ajout d'un préfixe "@" au nom de groupe. Par exemple, si vous souhaitez définir un groupe nommé sysadmin dans une certaine section du fichier /etc/samba/smb.conf
, vous devez entrer le nom de groupe ainsi :@sysadmin.
Les stratégies de groupes définissent certains réglages de configuration SAMBA en rapport avec le domaine ou le groupe de travail auquel appartient le compte d'ordinateur, ainsi que d'autres réglages globaux du serveur SAMBA. Par exemple, si le serveur SAMBA appartient au groupe de travail Windows appelé NIVEAU1, le fichier /etc/samba/smb.conf
pourrait alors être modifié de la manière suivante :
workgroup = NIVEAU1
Enregistrez le fichier et redémarrez les démons SAMBA pour appliquer le changement.
D'autres réglages de stratégie globale importants comprennent la chaîne du serveur qui définit le nom serveur NETBIOS qui sera annoncé aux autres machines du réseau Windows par votre système Ubuntu. C'est le nom par lequel votre système Ubuntu sera reconnu par les clients Windows et d'autres ordinateurs capables de parcourir le réseau avec le protocole SMB. De plus, vous pouvez indiquer le nom et l'emplacement du fichier journal du serveur SAMBA en utilisant la directive log file dans le fichier /etc/samba/smb.conf
.
Quelques directives supplémentaires influençant la stratégie de groupe globale concernent la spécification de la nature globale des ressources partagées. Par exemple, l'emplacement de certaines directives sous la section [global] du fichier /etc/samba/smb.conf
concernera toutes les ressources partagées, sauf si une directive identique remplace celle-ci sous la section d'une ressource partagée particulière. Vous indiquez que tous les partages peuvent être parcourus par tous les clients du réseau en plaçant la directive browseable, qui prend une valeur booléenne, sous la section [global] du fichier /etc/samba/smb.conf
. C'est-à-dire que si vous modifiez le fichier en ajoutant la ligne :
browseable = true
sous la section [global] de /etc/samba/smb.conf
, tous les partages offerts par votre système Ubuntu via SAMBA pourront être parcourus par tous les clients autorisés, sauf si un partage particulier contient une directive browseable = false qui prendra le pas sur la directive globale.
Les directives public et writeable sont d'autres exemples qui fonctionnent de la même manière. La directive public prend une valeur booléenne et détermine si une ressource partagée particulière est visible par tous les clients, autorisés ou non. La directive writeable prend également une valeur booléenne et détermine si une ressource partagée particulière est accessible en écriture par n'importe quel client du réseau.