Configurer SAMBA
Précédent
Suivant

Configurer SAMBA

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 des nouveaux. De l'information supplémentaire sur chaque paramètre est disponible dans les commentaires du fichier /etc/samba/smb.conf ou en regardant la page manuel du fichier /etc/samba/smb.conf en entrant la commande suivante dans un terminal :

man smb.conf

Astuce

Avant de modifier le fichier de configuration, vous devriez faire une copie du fichier original et le protéger contre l'écriture pour avoir les paramètres originaux comme référence et ainsi le 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 faites vos modifications.

Serveur

En supplément de la suite d'applications serveur SAMBA de partage de fichiers et d'imprimantes, Ubuntu inclus 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, et facilite l'identification et la gestion des permissions des ordinateurs et des utilisateurs grâce à Authentication Services.

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

Active Directory est une implémentation propriétaire de Microsoft des services d'annuaire et est utilisé pour partager l'information sur les ressources réseau et utilisateurs. En plus de fournir une source centralisée de cette information, Active Directory agit aussi comme autorité centralisée de l'authentification sécuritaire 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.

LDAP

L'application serveur LDAP fournit les fonctionalités 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 ainsi que des groupes d'ordinateurs et d'utilisateurs qui font partie du réseau et fournissent une manière cohérente de décrire, localiser et gérer ces ressources. L'implémentation de LDAP librement disponible pour votre système Ubuntu se nomme OpenLDAP. Le processus serveur responsable de traiter les requêtes OpenLDAP et de propager les données d'un seveur LDAP à l'autre sur Ubuntu sont slapd et slurpd. OpenLDAP peut être utilisé conjointement avec SAMBA pour fournir les services de partage des fichiers, d'imprimerie et de directoire tout comme le ferait un Windows Domain Controller pour autant que SAMBA soit compilé avec le support LDAP.

Kerberos

Le système de sécurisation des authentifications Kerberos est un service standardisé qui fournit une authentification aux ordinateurs et aux utilisateurs grâce à un serveur centralisé qui accorde des tickets d'autorisation cryptés 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 de la confiance. Les démons serveurs principaux qui gèrent l'authentification Kerberos et l'administration de la base de données Kerberos sous Ubuntu sont krb5kdc et kadmin. Il se peut que SAMBA utilise Kerberos comme mécanisme pour authentifier des ordinateurs et des utilisateurs au moyen 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 choisr 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.

Astuce

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 lors de l'invite du terminal :

sudo /etc/init.d/samba restart

Comptes d'ordinateurs

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 commes les comptes utilisateurs, et font l'objet d'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 particuler essaye de s'authentifier à partir d'un ordinateur qui n'a pas de compte d'ordinateur valide, par rapport à la politique mise en oeuvre 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 une console comme ceci :

sudo smbpasswd -a -m NOM_ORDINATEUR

Astuce

Assurez-vous de remplacer la chaîne COMPUTER_NAME dans l'exemple ci-dessus avec le nom de l'ordinateur pour lequel vous voulez ajouter un compte de machine.

Permissions de fichier

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 définissant 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 de lecture seule au groupe d'utilisateurs appelé planning, mais souhaitez autoriser l'accès au partage en écriture par le groupe appelé authors 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 = @authors, richard

Sauvegardez /etc/samba/smb.conf pour que les changements prennent effet.

Une autre possibilité de permission 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 toutes information contenue dans la ressource dont l'utilisateur a explicitement donné des permissions administratives. 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.

Clients

Ubuntu fournit des applications clientes et des capacités pour accéder aux ressources partagées grâce au protocole SMB. Par exemple, l'utilitaire nommé smbclientpermet d'accdocuments, proposbill, en utilisant smbclient, on entrera la commande suivante

smbclient //bill/documents -U <nomutilisateur>

Il vous sera alors demandé le mot de passe de l'utilisateur spécifié après le paramètre -U, et après la réussite de l'authentification, vous obtiendrez une invite vous permettant de manipuler ou transférer des fichiers avec une syntaxe semblable au client FTP en mode texte. Pour plus d'informations sur l'utilitaire smbclient, consultez la page du manuel avec la commande :


man smbclient

Le montage d'une ressource réseau fournie par le protocole SMB est aussi possible grâce à la commande mount. Par exemple, pour monter un répertoire nommé code-projet disponible sur un serveur Windows developpement pour l'utilisateur toto sur votre système Ubuntu dans le répertoire /mnt/pcode, vous devrez entrer la commande suivante à l'invite :

mount -t smbfs -o username=toto //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 :

umount /mnt/pcode

Comptes d'utilisateurs

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 :

smbpasswd -a toto

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 fixer pour l'utilisateur, et l'application smbpasswd vous demandera 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.

Groupes

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 certaines ressources réseau configurées pour autoriser l'accès au groupe qa autoriseraient par conséquent l'accès à freda, danika et rob, mais pas à jeremy ou à vincent. Comme l'utilisateur danika appartient aux deux groupes qa et support, elle sera capable d'accéder 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 le préfixage du nom de groupe par le symbole "@". 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 @sysadmin.

Stratégie de groupe

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 globaux importants comprennent la chaîne server 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 précise. 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 modificez 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 par SAMBA pourront être parcourus par tous les clients autorisés, sauf si un partage précis contient une directive browseable = false qui remplacera 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.

Précédent
Suivant
Sommaire