Samba - premiers pas. Création d'un réseau domestique à l'aide de Samba pour les appareils exécutant Windows, Linux, Android OS Samba Service

Le fichier de configuration principal de Samba est /etc/samba/smb.conf. Le fichier de configuration initial comporte un nombre important de commentaires pour documenter les différentes directives de configuration.

Toutes les options possibles ne sont pas incluses dans le fichier de paramètres par défaut. Voir manuel homme smb.conf ou FAQ Samba pour plus de détails.

1. Modifiez d’abord les paires clé/valeur suivantes dans la section fichier /etc/samba/smb.conf :

Groupe de travail = EXEMPLE ... sécurité = utilisateur

Paramètre sécurité est situé beaucoup plus bas dans la section et est commenté par défaut. Remplacez également EXEMPLE à quelque chose de plus approprié à votre environnement.

2. Créez une nouvelle section à la fin du fichier ou décommentez l'un des exemples pour le répertoire que vous souhaitez partager :

Commentaire = Chemin de partage du serveur de fichiers Ubuntu = /srv/samba/share navigable = oui invité ok = oui lecture seule = non créer un masque = 0755

    commentaire: Une brève description de la ressource partagée. Utilisé pour votre commodité.

    chemin: chemin d'accès au répertoire partagé.

    Cet exemple utilise /srv/samba/sharename car, selon la norme FHS (File System Hierarchy Standard), le répertoire /srv est l'endroit où doivent résider toutes les données liées à un site donné. Techniquement, un partage Samba peut être placé n'importe où sur le système de fichiers où les restrictions d'accès aux fichiers le permettent, mais il est recommandé de suivre les normes.

    consultable: Permet aux clients Windows d'afficher le contenu d'un répertoire partagé à l'aide de Windows Explorer.

    invité ok: Permet aux clients de se connecter à la ressource partagée sans fournir de mot de passe.

    lecture seulement: Détermine si la ressource est accessible avec des privilèges en lecture seule ou en écriture. Les privilèges d'écriture ne sont disponibles que lorsque vous spécifiez Non, comme le montre cet exemple. Si la valeur Oui, alors l'accès à la ressource sera en lecture seule.

    créer un masque: Définit les droits d'accès qui seront définis pour les nouveaux fichiers créés.

3. Maintenant que Samba est configuré, vous devez créer un répertoire et y définir des autorisations. Entrez dans le terminal :

Sudo mkdir -p /srv/samba/share sudo chown personne.nogroup /srv/samba/share/

paramètre -p indique à mkdir de créer une arborescence de répertoires complète si elle n'existe pas.

4. Enfin, redémarrez les services samba pour appliquer les nouveaux paramètres :

Sudo redémarrer smbd sudo redémarrer nmbd

Vous pouvez désormais rechercher le serveur de fichiers Ubuntu à l'aide du client Windows et parcourir ses répertoires partagés. Si votre client n'affiche pas automatiquement vos partages, essayez d'accéder à votre serveur par son adresse IP, par exemple \\192.168.1.1, à partir d'une fenêtre de l'Explorateur Windows. Pour vérifier que tout fonctionne, essayez de créer un répertoire dans votre partage depuis Windows.

Pour créer des partages supplémentaires, créez une nouvelle section dans /etc/samba/smb.conf et redémarrez Samba. Assurez-vous simplement que le répertoire partagé est créé et dispose des autorisations appropriées.

Ressource partagée "" et la manière /srv/samba/partage- ce ne sont que des exemples. Définissez le nom de la ressource et le nom du répertoire en fonction de votre environnement. C'est une bonne idée d'utiliser le nom du répertoire de la ressource sur le système de fichiers comme nom de la ressource. En d'autres termes, la ressource peut être spécifiée pour le répertoire /srv/samba/qa.

Mise en œuvre protocoles réseau Bloc de messages du serveur (SMB) Et Système de fichiers Internet commun (CIFS). L'objectif principal est de partager des fichiers et des imprimantes entre les systèmes Linux et Windows.

Samba se compose de plusieurs démons travaillant dans arrière-plan et fournir des services et un certain nombre d'outils de ligne de commande pour interagir avec les services Windows :

  • smbd- un démon qui est un serveur SMB pour les services de fichiers et les services d'impression ;
  • nmbd- un démon qui fournit des services de noms NetBIOS ;
  • s'intègre- l'utilitaire fournit un accès en ligne de commande aux ressources SMB. Il vous permet également d'obtenir des listes ressources partagées sur des serveurs distants et visualiser l'environnement réseau ;
  • smb.conf- un fichier de configuration contenant les paramètres de tous les outils Samba ;

Liste des ports utilisés par Samba

  • partager- ce mode de sécurité émule la méthode d'authentification utilisée par les systèmes d'exploitation Systèmes Windows 9x/Windows Moi. Dans ce mode, les noms d'utilisateur sont ignorés et les mots de passe sont attribués aux partages. Dans ce mode, Samba tente d'utiliser un mot de passe fourni par le client qui peut être utilisé par différents utilisateurs.
  • utilisateur* - Ce mode de sécurité est défini par défaut et utilise un nom d'utilisateur et un mot de passe pour l'authentification, comme cela se fait habituellement sous Linux. Dans la plupart des cas, sur les systèmes d'exploitation modernes, les mots de passe sont stockés dans une base de données cryptée utilisée uniquement par Samba.
  • serveur- ce mode de sécurité est utilisé lorsqu'il est nécessaire que Samba effectue une authentification lors de l'accès à un autre serveur. Pour les clients, ce mode ressemble à l'authentification au niveau utilisateur (mode utilisateur), mais Samba contacte en fait le serveur spécifié dans le paramètre de serveur de mot de passe pour effectuer l'authentification.
  • domaine- en utilisant ce mode de sécurité, vous pouvez rejoindre pleinement un domaine Windows ; Pour les clients, cela ressemble à une authentification au niveau de l’utilisateur. Contrairement à l'authentification au niveau du serveur, l'authentification de domaine utilise un échange de mot de passe plus sécurisé au niveau du domaine. Pour rejoindre complètement un domaine, vous devez exécuter des commandes supplémentaires sur le système Samba et éventuellement sur le contrôleur de domaine.
  • les publicités- ce mode de sécurité est similaire à la méthode d'authentification de domaine, mais nécessite un contrôleur de domaine Active Directory Services de domaine.

Liste complète des paramètres Samba est dans les pages de manuel.

Ci-dessus, un exemple d'accès à un répertoire avec accès partagé. Prenons un autre exemple avec un répertoire privé, accessible uniquement par login et mot de passe.

Créons un groupe et ajoutons-y un utilisateur

Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft

Créons un répertoire pour l'utilisateur et définissons les droits

Sudo mkdir -p /srv/samba/proft sudo chown -R proft:smbgrp /srv/samba/proft sudo chmod -R 0770 /srv/samba/proft

Créons un utilisateur samba

Sudo smbpasswd -a profit

Ajouter une nouvelle ressource à /etc/samba/smb.conf

Chemin = /srv/samba/proft utilisateurs valides = @smbgrp invité ok = non inscriptible = oui consultable = oui

Redémarrons le serveur

Sudo systemctl redémarrer smbd

Un exemple de configuration d'une ressource contenant lien symbolique dans le dossier de l'utilisateur ( /srv/samba/media/vidéo » /accueil/proft/vidéo)

Chemin = /srv/samba/media guest ok = oui lecture seule = oui consultable = oui forcer l'utilisateur = proft

Configuration du client

Afficher les ressources partagées de votre ordinateur

Client PME -L 192.168.24.101 -U%

Une autre méthode de connexion pour un utilisateur anonyme avec ligne de commande

Smbclient -U personne //192.168.24.101/public ls

Si le serveur est configuré avec un niveau de sécurité plus élevé, vous devrez peut-être transmettre le nom d'utilisateur ou le nom de domaine à l'aide des options -W et -U, respectivement.

Smbclient -L 192.168.24.101 -U proft -W GROUPE DE TRAVAIL

Monter une ressource samba

# créer un point de montage mkdir -p ~/shares/public # monter une ressource # pour un utilisateur anonyme personne mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=nobody,password=, workgroup= WORKGROUP,ip=192.168.24.101,utf8 # pour l'utilisateur proft mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,password=1,workgroup=WORKGROUP,ip= 192.168.24.101,utf8

Plus de meilleurs mots de passe stocker dans un fichier séparé

# sudo vim /etc/samba/sambacreds nom d'utilisateur=proft mot de passe=1 nom d'utilisateur=noboy mot de passe=

Définissez les droits d'accès sur 0600

Sudo chmod 0600 /etc/samba/sambacreds

Nouvelle ligne de montage

Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Et un exemple pour /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Vous pouvez ouvrir la ressource dans le gestionnaire de fichiers Nautilus/Nemo/etc en utilisant ce chemin smb://192.268.24.101.

Si Nemo écrit Nemo ne peut pas gérer les emplacements "smb".ça veut dire que le colis est manquant gvfs-smb.

Accès au serveur avec client Windows et Android

Sous Windows, vous pouvez connaître le groupe de travail depuis la console en utilisant

Poste de travail de configuration réseau

Vous pouvez ouvrir des ressources sur une machine distante en tapant l'adresse UNC dans la ligne Explorateur ou dans Exécuter (Démarrer - Exécuter) : \192.168.24.101 .

Sur Android, vous pouvez vous connecter au serveur en utilisant Explorateur de fichiers ES, sur l'onglet Réseau, ajoutez un serveur, simplement par IP (sans préciser le schéma, smb). Après quoi vous pouvez ouvrir les ressources partagées. Pour les statistiques : un film HDRIP s'exécute sans aucun ralentissement.

Lecture supplémentaire

De nos jours, il est assez courant de trouver des ordinateurs exécutant Linux et Windows sur le même réseau local. Les raisons de cette symbiose peuvent être différentes : par exemple, les propriétaires d'un cybercafé n'avaient pas assez de fonds pour acheter un système d'exploitation sous licence pour tous les ordinateurs, ou un administrateur système a simplement été embauché. côtés positifs Linux. La popularité des systèmes d'exploitation Microsoft est largement déterminée par les logiciels clients pour Windows. Ce n'est un secret pour personne que ce secteur logiciel très développé. De nombreuses entreprises ont fait de sérieux efforts dans ce sens et ont créé des programmes très bons et, surtout, faciles à utiliser que même un utilisateur ordinaire peut facilement maîtriser. Mais en tant que serveur, la position de Windows n’est plus aussi claire. Un serveur exécutant Unix se caractérise traditionnellement par sa fiabilité, son fonctionnement stable, sa sécurité et ses exigences souvent moindres en ressources système. Mais dans tous les cas, la simple connexion au réseau d’ordinateurs dotés de différentes plates-formes logicielles n’obtiendra pas le résultat escompté. Le problème est que ces deux systèmes utilisent des principes différents pour organiser les ressources réseau, incompatibles entre elles.
Puisqu'il n'est pas nécessaire d'attendre la pitié de Microsoft et qu'il est peu probable que Windows apprenne à travailler avec le système de fichiers réseau (NFS) Unix en utilisant des moyens standard, et, pour être honnête, je ne connais pas de programmes tiers, le plus La méthode la plus populaire consiste à essayer d'apprendre à Unix à « faire semblant » que s'il s'agissait de Windows NT.

L'interaction dans un réseau d'ordinateurs exécutant Windows est basée sur l'utilisation du protocole SMB (bloc de messages du serveur)- des blocs de messages du serveur. Il garantit que toutes les tâches nécessaires dans ces cas sont effectuées : ouverture et fermeture, lecture et écriture, recherche de fichiers, création et suppression de répertoires, définition d'un travail d'impression et suppression de celui-ci. Toutes les actions nécessaires à cet effet sont implémentées dans les systèmes d'exploitation de type Unix à l'aide du package SAMBA. Ses capacités peuvent être divisées en deux catégories : la mise à disposition de ressources (c'est-à-dire l'accès au système d'impression et aux fichiers) pour les clients Windows et l'accès aux ressources client. Autrement dit, un ordinateur exécutant Linux peut agir à la fois comme serveur et comme client. Considérons d’abord l’option du serveur SAMBA.

Que devrait apporter SAMBA fonctionnement normal sur un réseau de machines Windows ? Premièrement, le contrôle d'accès, qui peut être mis en œuvre soit au niveau de la ressource (niveau partage), lorsqu'un mot de passe et les règles d'utilisation correspondantes sont attribués à n'importe quelle ressource du réseau (par exemple, « lecture seule »), alors que le nom d'utilisateur a absolument non, aucune signification ; ou une organisation plus avancée et flexible au niveau de l'utilisateur, lorsqu'un compte est créé pour chaque utilisateur, qui, en plus du nom et du mot de passe, contient toutes les informations nécessaires sur les droits d'accès à la ressource. Avant d'accéder à la ressource requise, chaque utilisateur est authentifié, après quoi il se voit accorder des droits en fonction de ses comptes. Deuxièmement, l'émulation des droits d'accès déterminés par le système de fichiers est nécessaire. Le fait est que les systèmes en question ont des droits d'accès différents aux fichiers et répertoires sur le disque. Sous Unix, il existe traditionnellement trois catégories d'utilisateurs de fichiers : propriétaire, groupe Et le reste (autre). Chacune de ces entités peut être fournie lire les autorisations, écrire Et exécution. Sous Windows NT, le système d'accès est un peu plus flexible : l'accès est accordé à plusieurs groupes ou utilisateurs et les droits d'accès correspondants sont déterminés séparément pour chaque sujet. Par conséquent, il est impossible d'émuler pleinement les droits d'accès inhérents à NTFS à l'aide de SAMBA.

Avec des clients en cours d'exécution Windows 9x, la situation est différente. Depuis l'époque du grand-père du DOS, étant donné que le système est mono-utilisateur et qu'il ne peut être question d'utilisateurs, encore moins de groupes, seuls quatre attributs ont été définis pour le système de fichiers FAT - lecture seule, système, archive et caché. De plus, sous Windows, contrairement à Unix, l'extension de fichier a une signification particulière : ceux qui sont destinés à être exécutés ont les extensions .exe, .com ou .bat. Lors de la copie de fichiers depuis des machines Unix vers des ordinateurs exécutant Contrôle Windows les attributs sont définis comme ceci :

uniquement pour lire- lire, écrire pour le propriétaire ;

archives- exécution pour le propriétaire ;

systémique- exécution pour le groupe ;

caché - exécution pour le groupe.

Un réseau de machines Windows peut être organisé en groupe de travail, lorsque les ordinateurs sont indépendants les uns des autres et que chacun possède sa propre base de données de mots de passe et de logins avec sa propre politique de sécurité, et également en domaine NT. L’ensemble de la base d’authentification des utilisateurs et des ordinateurs est géré contrôleur de domaine principal (PDC, Primary Domain Controller), c'est à dire. centralisé. Samba vous permet de restreindre l'accès à tous ces niveaux et agit comme un « navigateur maître » dans le contexte d'un groupe de travail ou d'un contrôleur de domaine.

Nous avons réglé les problèmes généraux d’organisation. Intéressons-nous maintenant spécifiquement à l'implémentation et à la configuration d'un serveur SAMBA sous Linux. Pour que le serveur Samba fonctionne, deux démons doivent être exécutés : smbd, qui fournit un service d'impression et de partage de fichiers pour les clients Samba (tels que Windows de tous bords), et nmbd, qui alimente le service de noms NetBIOS (il peut également être utilisé pour interroger d'autres démons du service de noms). Le protocole est utilisé pour accéder aux clients TCP/IP. Généralement, Samba est installé avec une distribution Linux. Comment vérifier? Donnez simplement la commande :

et vous devriez obtenir quelque chose comme ceci :

Samba : /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

S'il n'est pas inclus dans la distribution standard, alors bienvenue sur ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz ou sur presque n'importe quel serveur doté de programmes pour Linux. Le package est facile à installer, donc afin de ne pas prendre de place, nous supposerons que vous l'avez installé. Vérifions maintenant si le démon est en cours d'exécution :

$ps-aux | grep smbd racine 1122 0,0 0,6 4440 380 ? S 16:36 0:00 smbd -D

Comme vous pouvez le voir, je l'ai déjà en cours d'exécution. Si vous ne l'avez pas et que vous souhaitez qu'il démarre au démarrage du système, alors sous Linux Mandrake, par exemple, cochez la case souhaitée dans DrakConf- services de démarrage ou dans Panneau de configuration Red Hat- Configuration des services, cela suffit généralement. Ou démarrez manuellement : ./etc/rc.d/init.d/smb start. Le seul fichier de configuration Samba s'appelle smb.conf et se trouve généralement dans le répertoire /etc (bien que dans AltLinux, par exemple, il se trouve dans le répertoire /etc/samba). Le service SAMBA le lit toutes les 60 secondes, donc les modifications apportées à la configuration prennent effet sans redémarrage, mais ne s'appliquent pas aux connexions déjà établies.

C'est pourquoi j'aime Linux, car les fichiers de configuration sont en texte brut (et bien commentés à l'intérieur), et pour utiliser la plupart des paramètres, il suffit de décommenter la ligne correspondante. Le fichier smb.conf ne fait pas exception. Il se compose de sections nommées commençant par le nom de la section entre crochets. À l’intérieur de chaque section se trouvent un certain nombre de paramètres sous la forme clé=valeur. Le fichier de configuration contient quatre sections spéciales: , et des ressources individuelles (partages). Comme son nom l'indique, la section contient les caractéristiques les plus générales qui s'appliqueront partout, mais qui peuvent cependant ensuite être remplacées dans des sections destinées à des ressources individuelles. Certains paramètres de cette section sont également pertinents pour la configuration de la partie client Samba.

Valeurs des paramètres de section typiques mondial:

Workgroup = group_name # nom du groupe de travail sur le réseau Windows netbios name = nom du serveur sur le serveur réseau string = commentaire visible dans la fenêtre des propriétés de navigation du réseau guest ok = yes # autoriser la connexion invité (guest ok = no - guest la connexion est interdite) compte invité = personne # nom sous lequel la connexion invité est autorisée sécurité = utilisateur # Niveau d'accès. user - au niveau de l'utilisateur, security = share - authentification basée sur le nom d'utilisateur et le mot de passe. Lors du stockage de la base de données de mots de passe sur un autre serveur SMB, les valeurs security = server et password server = name_server_NT sont utilisées. Si le serveur est membre d'un domaine, la valeur security = domain est utilisée, le mot de passe d'accès est précisé dans le fichier défini à l'aide de l'option smb passwd file = /path/to/file.

De plus, lors de l'inscription, vous pouvez utiliser mots de passe chiffrés et non chiffrés (texte brut). Ces derniers sont utilisés dans les anciens Windows (Windows for Workgroups, Windows 95 (OSR2), toutes les versions de Windows NT 3.x, Windows NT 4 (jusqu'au Service Pack 3)). Pour activer l'option d'utilisation d'un mot de passe crypté, utilisez l'option crypter le mot de passe = oui. Veuillez prêter une attention particulière à cette option. Sur les anciennes distributions Linux construites à l'époque de Windows 95 (et avec une ancienne version de Samba), le cryptage des mots de passe est désactivé par défaut, et samba avant version 2.0 ne prend pas du tout en charge ce mode (d'ailleurs, cette option et des options similaires - celles qui ne concernent pas l'accès à des ressources spécifiques - sont également utilisées dans le client).

Pour afficher correctement les noms de fichiers russes, les options suivantes sont nécessaires : page de codes client = 866 et jeu de caractères = koi8-r. Dans les distributions avec une bonne localisation, par exemple les dérivés de Mandrake et russes, cette ligne est déjà là ; parfois il suffit de la décommenter, mais dans la plupart des autres, vous devez l'ajouter vous-même.

L'option interfaces = 192.168.0.1/24 spécifie sur quel réseau (interface) le programme doit s'exécuter si le serveur est connecté à plusieurs réseaux à la fois. Lors de la définition du paramètre bind interfaces only = yes, le serveur ne répondra qu'aux requêtes de ces réseaux.

les hôtes autorisent = 192.168.1. 192.168.2. 127. - définit les clients pour lesquels l'accès au service est autorisé.

Dans la section globale, vous pouvez utiliser diverses variables pour une configuration plus flexible du serveur. Une fois la connexion établie, des valeurs réelles sont remplacées. Par exemple, dans la directive log file = /var/log/samba/%m.log, le paramètre %m permet de définir un fichier journal distinct pour chaque ordinateur client. Voici les variables les plus couramment utilisées dans la section globale :

%a - Architecture du système d'exploitation sur la machine client (valeurs possibles - Win95, Win NT, INCONNU, etc.) ;

%m - Nom NetBIOS de l'ordinateur client ;

%L - Nom NetBIOS du serveur SAMBA ;

%v-version SAMBA ;

%I - Adresse IP de l'ordinateur client ;

%T - date et heure ;

%u - nom de l'utilisateur travaillant avec le service ;

%H est le répertoire personnel de l'utilisateur %u.

De plus, pour une configuration plus flexible, la directive include est utilisée, en utilisant les variables ci-dessus. Par exemple : include = /etc/samba/smb.conf.%m - désormais, lorsque vous demandez des ventes depuis un ordinateur et qu'il existe un fichier /etc/samba/smb.conf.sales, la configuration sera extraite de ce fichier. S'il n'existe pas de fichier séparé pour une machine particulière, un fichier commun est utilisé pour l'utiliser.

# sudo vim /etc/samba/sambacreds nom d'utilisateur=proft mot de passe=1 nom d'utilisateur=noboy mot de passe=

Définissez les droits d'accès sur 0600

Sudo chmod 0600 /etc/samba/sambacreds

Nouvelle ligne de montage

Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Et un exemple pour /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Vous pouvez ouvrir la ressource dans le gestionnaire de fichiers Nautilus/Nemo/etc en utilisant ce chemin smb://192.268.24.101.

Si Nemo écrit Nemo ne peut pas gérer les emplacements "smb".ça veut dire que le colis est manquant gvfs-smb.

Accès au serveur avec client Windows et Android

Sous Windows, vous pouvez connaître le groupe de travail depuis la console en utilisant

Poste de travail de configuration réseau

Vous pouvez ouvrir des ressources sur une machine distante en tapant l'adresse UNC dans la ligne Explorateur ou dans Exécuter (Démarrer - Exécuter) : \192.168.24.101 .

Sur Android, vous pouvez vous connecter au serveur en utilisant Explorateur de fichiers ES, sur l'onglet Réseau, ajoutez un serveur, simplement par IP (sans préciser le schéma, smb). Après quoi vous pouvez ouvrir les ressources partagées. Pour les statistiques : un film HDRIP s'exécute sans aucun ralentissement.

Lecture supplémentaire

Ou peut-être est-ce simplement l’intérêt et la curiosité qui poussent les utilisateurs à rechercher divers logiciels adaptés. Samba est l'un de ces logiciels. Vous devez savoir comment configurer Samba sur Ubuntu Server si vous souhaitez transformer votre ordinateur en base de données ou en stockage de fichiers.

L'installation de Samba sur Ubuntu Server vous permet de créer une base de données.

Si vous pensiez que la page était dédiée à l’apprentissage de la danse, vous vous trompiez légèrement. Samba est un logiciel libre. Il donne accès aux imprimantes et aux fichiers. Et il le fait sur différents systèmes d'exploitation.

Pourquoi est-ce?

En comparaison avec d'autres progiciels destinés à des fins similaires, Samba présente plusieurs avantages et fonctionnalités.

  • Vous permet de connecter un système de type Unix, c'est-à-dire n'importe quel système Linux et Windows, entre eux. Et pas seulement Windows. Le programme est très « omnivore » : MacOS, Solaris et autres systèmes d'exploitation plus ou moins populaires.
  • Samba permet aux utilisateurs Windows d'utiliser des ordinateurs Ubuntu comme serveur. Autrement dit, utilisez les fichiers auxquels l'accès a été établi, ainsi que certains des appareils connectés.
  • Prend en charge la structure de domaine du domaine NT, gère les utilisateurs NT, prend en charge les fonctions de membre et de contrôleur principal.

Probablement, pour beaucoup, l'essentiel est la communication avec les machines Windows. Dans ce cas, ils agissent en tant que client et l'ordinateur Ubuntu agit en tant que serveur. D'un autre côté, un utilisateur Ubuntu peut également accéder aux dossiers réseau Windows.


Samba est produit depuis 1992. Et surtout, de nouvelles versions continuent de sortir. Ce dernier est sorti le 7 mars 2017. Chaque année, les développeurs tentent d'établir une compatibilité avec un grand nombre de versions différentes de systèmes d'exploitation, mais la principale caractéristique reste la connexion des systèmes Linux avec Microsoft. Comparé à Windows Server, Samba peut lui être inférieur en raison du manque de prise en charge de certains protocoles et de l'infrastructure hôte. Cependant, beaucoup affirment que la vitesse de Samba est beaucoup plus élevée.

Configurer Samba

Avant la configuration, le programme doit être installé. L'installation de Samba se fait de la même manière qu'avec d'autres programmes - en entrant la commande dans le terminal :

sudo apt-get installer samba


Attention tout de suite : toutes les étapes qui seront décrites, y compris l'installation du programme, peuvent être effectuées aussi bien sur Ubuntu simple que sur Ubuntu Server. Seul ce dernier dispose d’une interface exclusivement textuelle.

Après l'installation, vous devez faire une sauvegarde du fichier de configuration :

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

Ou nous en modifions un existant. Ce fichier contient les paramètres de base du serveur Samba. Pour savoir ce que nous ferons ensuite, nous devons comprendre la signification des différentes lignes.

  • Groupe de travail - groupe de travail. La valeur de ce paramètre sera aussi souvent Workgroup, puisque sous Windows, le domaine de groupe de travail par défaut ressemble à ceci.
  • Le nom Netbios est le nom de l'ordinateur Ubuntu tel que vu par les utilisateurs Windows. Ici, vous pouvez saisir la valeur à votre discrétion.
  • Sécurité - mode d'autorisation utilisateur. La valeur par défaut est Utilisateur, c'est-à-dire l'authentification au niveau de l'utilisateur. Pour l’instant, il est préférable de laisser les choses ainsi.
  • Niveau du système d'exploitation - indique la priorité de Samba sur les autres clients (PC) du réseau local ou Internet.
  • Ordre de résolution des noms : ordre de résolution des adresses IP par nom NetBIOS.
  • Lecture seule - privilège de lire ou d'écrire un répertoire. La valeur peut être « oui » - lecture seule, « non » - écriture.

Créer un utilisateur

C'est l'action la plus simple avec laquelle vous pouvez commencer à travailler avec Samba.


Ajoutez un utilisateur dans le système d'exploitation lui-même :

$ useradd -M -l -s /sbin/nologin nom d'utilisateur

Créons un mot de passe pour cela :

Ajoutons notre utilisateur à la base de données Samba :

$ smbpasswd -un nom d'utilisateur


Vous pouvez effectuer diverses autres actions à l'aide de la commande $smbpasswd :

  • $ smbpasswd nom d'utilisateur - changer le mot de passe
  • $ smbpasswd -x username - supprimer un utilisateur
  • $ smbpasswd -d nom d'utilisateur - bannir l'utilisateur

Le serveur doit être redémarré si vous apportez des modifications au fichier de configuration. Cela se fait à l'aide de la commande :

$ systemctl redémarrer smb

Ce sont les paramètres de base de Samba. Vous pouvez maintenant essayer de mettre le programme en pratique.

Accès aux dossiers

Essayons d'abord de créer un dossier qui sera accessible à tous les utilisateurs, même ceux qui ne sont pas autorisés dans Samba.

Nous créons un dossier avec lequel nous travaillerons ensuite sur deux ordinateurs :

$ sudo mkdir -p /samba/access

Nous étendons désormais l'accès à ce dossier afin que n'importe lequel de nos clients puisse l'ouvrir. réseau local:

$cd/samba
$ sudo chmod -R 0755 accès
$ sudo chown -R personne: accès sans groupe/

Le propriétaire selon le code n'est personne.


Maintenant, dans le fichier de configuration du serveur, vous devez créer deux sections : la première contenant les informations de base :

Groupe de travail = GROUPE DE TRAVAIL
chaîne du serveur = serveur Samba %v
nom netbios = srvr1
sécurité = utilisateur
mapper vers l'invité = mauvais utilisateur
ordre de résolution de nom = hôte bcast
proxy DNS = non
#==============
Et le second, contenant des données sur le dossier d'accès :

Chemin = /samba/accès
consultable = oui
inscriptible = oui
invité ok = oui
lecture seule = non

Les sections se succèdent dans le même ordre.

Modifications du serveur de mise à jour :

$ sudo service smbd redémarrage

Actions avec un ordinateur Windows

Sous Windows, vous devez également effectuer certaines étapes afin de pouvoir facilement ouvrir un nouveau dossier partagé et le modifier.

  1. Ouvrez la ligne de commande. Il est conseillé de le faire avec des droits étendus, c'est-à-dire en tant qu'administrateur.
  2. Nous exécutons la commande :
  3. bloc-notes C:\Windows\System32\drivers\etc\hosts
  4. Un fichier s'ouvre dans lequel on rentre la ligne suivante :
  5. 168.0.1 srvr1.domain.com srvr1
    Grâce à lui, le dossier deviendra accessible.
  6. Vous pouvez l'ouvrir en utilisant la ligne « Exécuter ». Appuyez sur Win + R, entrez : Après cela, un dossier s'ouvrira pour nous.


Dossier fermé

Un serveur Samba configuré peut également être utilisé pour créer des dossiers réseau avec un accès limité. Un tel dossier doit également être d'abord créé puis ajouté à la configuration Samba.

Créons un dossier appelé "Fermé" :

$ sudo mkdir -p /samba/allaccess/closed

Créons un groupe spécial pouvant avoir accès à ce dossier :

$ sudo addgroup groupe sécurisé

Nous créons des droits spéciaux pour différents groupes :

$ cd /samba/accès
$ sudo chown -R richard:groupe sécurisé fermé
$ sudo chmod -R 0770 fermé/

Tout comme dans le cas d'un dossier ouvert, nous ajoutons des informations à la configuration :

Chemin = /samba/access/fermé
utilisateurs valides = @securegroup
invité ok = non
inscriptible = oui
consultable = oui

Nous redémarrons le serveur.

Comme vous pouvez le comprendre, nous avons créé un dossier Fermé dans Access. Ainsi, l'accès peut être ouvert par chaque utilisateur du réseau local, mais pour afficher et modifier Fermé, vous devez disposer de droits spéciaux.

Pour vous assurer que tout fonctionne exactement comme nous l'avons spécifié dans le fichier batch, vous pouvez effectuer quelques étapes simples.

De nos jours, il est assez courant de trouver des ordinateurs exécutant Linux et Windows sur le même réseau local. Les raisons de cette symbiose peuvent être différentes : par exemple, les propriétaires d'un cybercafé n'avaient pas assez de fonds pour acheter un système d'exploitation sous licence pour tous les ordinateurs, ou administrateur du système J'étais simplement attiré par les aspects positifs de Linux. La popularité des systèmes d'exploitation Microsoft est largement déterminée par les logiciels clients pour Windows. Ce n'est un secret pour personne, ce secteur du logiciel est très développé. De nombreuses entreprises ont fait de sérieux efforts dans ce sens et ont créé des programmes très bons et, surtout, faciles à utiliser que même un utilisateur ordinaire peut facilement maîtriser. Mais en tant que serveur, la position de Windows n’est plus aussi claire. Un serveur exécutant Unix se caractérise traditionnellement par sa fiabilité, son fonctionnement stable, sa sécurité et ses exigences souvent moindres en ressources système. Mais dans tous les cas, la simple connexion au réseau d’ordinateurs dotés de différentes plates-formes logicielles n’obtiendra pas le résultat escompté. Le problème est que ces deux systèmes utilisent des principes différents pour organiser les ressources réseau, incompatibles entre elles.
Puisqu'il n'est pas nécessaire d'attendre la pitié de Microsoft et qu'il est peu probable que Windows apprenne à travailler avec le système de fichiers réseau (NFS) Unix moyens standards, et pour être honnête, je ne connais aucun programme tiers, le moyen le plus populaire est d'essayer d'apprendre à Unix à « faire semblant » qu'il s'agit de Windows NT.

L'interaction dans un réseau d'ordinateurs exécutant Windows est basée sur l'utilisation du protocole SMB (bloc de messages du serveur)— des blocs de messages du serveur. Il garantit que toutes les tâches nécessaires dans ces cas sont effectuées : ouverture et fermeture, lecture et écriture, recherche de fichiers, création et suppression de répertoires, définition d'un travail d'impression et suppression de celui-ci. Toutes les actions nécessaires à cet effet sont implémentées dans les systèmes d'exploitation de type Unix à l'aide du package SAMBA. Ses capacités peuvent être divisées en deux catégories : la mise à disposition de ressources (c'est-à-dire l'accès au système d'impression et aux fichiers) pour les clients Windows et l'accès aux ressources client. Autrement dit, un ordinateur exécutant Linux peut agir à la fois comme serveur et comme client. Considérons d’abord l’option du serveur SAMBA.

Que doit fournir SAMBA pour le fonctionnement normal des machines Windows sur un réseau ? Premièrement, le contrôle d'accès, qui peut être mis en œuvre soit au niveau de la ressource (niveau partage), lorsqu'un mot de passe et les règles d'utilisation correspondantes sont attribués à n'importe quelle ressource du réseau (par exemple, « lecture seule »), alors que le nom d'utilisateur a absolument non, aucune signification ; ou une organisation plus avancée et flexible au niveau de l'utilisateur, lorsqu'un compte est créé pour chaque utilisateur, qui, en plus du nom et du mot de passe, contient toutes les informations nécessaires sur les droits d'accès à la ressource. Avant d'accéder à la ressource requise, chaque utilisateur est authentifié, après quoi il se voit accorder des droits en fonction de ses comptes. Deuxièmement, l'émulation des droits d'accès déterminés par le système de fichiers est nécessaire. Le fait est que les systèmes en question ont des droits d'accès différents aux fichiers et répertoires sur le disque. Sous Unix, il existe traditionnellement trois catégories d'utilisateurs de fichiers : propriétaire, groupe Et le reste (autre). Chacune de ces entités peut être fournie lire les autorisations, écrire Et exécution. Sous Windows NT, le système d'accès est un peu plus flexible : l'accès est accordé à plusieurs groupes ou utilisateurs et les droits d'accès correspondants sont déterminés séparément pour chaque sujet. Par conséquent, il est impossible d'émuler pleinement les droits d'accès inhérents à NTFS à l'aide de SAMBA.

Avec des clients en cours d'exécution Windows 9x, la situation est différente. Depuis l'époque du grand-père du DOS, du fait que le système est mono-utilisateur et qu'il ne peut être question d'utilisateurs, encore moins de groupes, pour le fichier Systèmes FAT Seuls quatre attributs sont définis - lecture seule, système, archive et caché. De plus, sous Windows, contrairement à Unix, l'extension de fichier a une signification particulière : ceux qui sont destinés à être exécutés ont les extensions .exe, .com ou .bat. Lors de la copie de fichiers depuis des machines Unix vers des ordinateurs Windows, les attributs sont définis comme ceci :

uniquement pour lire— lire, écrire pour le propriétaire ;

archives— exécution pour le propriétaire ;

systémique— exécution pour le groupe;

caché - exécution pour le groupe.

Un réseau de machines Windows peut être organisé en groupe de travail, lorsque les ordinateurs sont indépendants les uns des autres et que chacun possède sa propre base de données de mots de passe et de logins avec sa propre politique de sécurité, et également en domaine NT. L’ensemble de la base d’authentification des utilisateurs et des ordinateurs est géré contrôleur de domaine principal (PDC, Primary Domain Controller), c'est à dire. centralisé. Samba vous permet de restreindre l'accès à tous ces niveaux et agit comme un « navigateur maître » dans le contexte d'un groupe de travail ou d'un contrôleur de domaine.

Nous avons réglé les problèmes généraux d’organisation. Intéressons-nous maintenant spécifiquement à l'implémentation et à la configuration d'un serveur SAMBA sous Linux. Pour que le serveur Samba fonctionne, deux démons doivent être exécutés : smbd, qui fournit un service d'impression et de partage de fichiers pour les clients Samba (tels que Windows de tous bords), et nmbd, qui alimente le service de noms NetBIOS (il peut également être utilisé pour interroger d'autres démons du service de noms). Le protocole est utilisé pour accéder aux clients TCP/IP. Généralement, Samba est installé avec une distribution Linux. Comment vérifier? Donnez simplement la commande :

$où est la samba

et vous devriez obtenir quelque chose comme ceci :

Samba : /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

S'il n'est pas inclus dans la distribution standard, alors bienvenue sur ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz ou sur presque n'importe quel serveur doté de programmes pour Linux. Le package est facile à installer, donc afin de ne pas prendre de place, nous supposerons que vous l'avez installé. Vérifions maintenant si le démon est en cours d'exécution :

$ps-aux | grep smbd racine 1122 0,0 0,6 4440 380 ? S 16:36 0:00 smbd -D

Comme vous pouvez le voir, je l'ai déjà en cours d'exécution. Si vous ne l'avez pas et que vous souhaitez qu'il démarre au démarrage du système, alors sous Linux Mandrake, par exemple, cochez la case souhaitée dans DrakConfservices de démarrage ou dans Panneau de configuration Red HatConfiguration des services, cela suffit généralement. Ou démarrez manuellement : ./etc/rc.d/init.d/smb start. Le seul fichier de configuration Samba s'appelle smb.conf et se trouve généralement dans le répertoire /etc (bien que dans AltLinux, par exemple, il se trouve dans le répertoire /etc/samba). Le service SAMBA le lit toutes les 60 secondes, donc les modifications apportées à la configuration prennent effet sans redémarrage, mais ne s'appliquent pas aux connexions déjà établies.

C'est pourquoi j'aime Linux, car les fichiers de configuration sont en texte brut (et bien commentés à l'intérieur), et pour utiliser la plupart des paramètres, il suffit de décommenter la ligne correspondante. Le fichier smb.conf ne fait pas exception. Il se compose de sections nommées commençant par le nom de la section entre crochets. À l’intérieur de chaque section se trouvent un certain nombre de paramètres sous la forme clé=valeur. Le fichier de configuration contient quatre sections spéciales : , et des ressources individuelles (partages). Comme son nom l'indique, la section contient les caractéristiques les plus générales qui s'appliqueront partout, mais qui peuvent cependant ensuite être remplacées dans des sections destinées à des ressources individuelles. Certains paramètres de cette section sont également pertinents pour la configuration de la partie client Samba.

Valeurs des paramètres de section typiques mondial:

Workgroup = group_name # nom du groupe de travail sur le réseau Windows netbios name = nom du serveur sur le serveur réseau string = commentaire visible dans la fenêtre des propriétés de navigation du réseau guest ok = yes # autoriser la connexion invité (guest ok = no - guest la connexion est interdite) compte invité = personne # nom sous lequel la connexion invité est autorisée sécurité = utilisateur # Niveau d'accès. user - au niveau de l'utilisateur, security = share - authentification basée sur le nom d'utilisateur et le mot de passe. Lors du stockage de la base de données de mots de passe sur un autre serveur SMB, les valeurs security = server et password server = name_server_NT sont utilisées. Si le serveur est membre d'un domaine, la valeur security = domain est utilisée, le mot de passe d'accès est précisé dans le fichier défini à l'aide de l'option smb passwd file = /path/to/file.

De plus, lors de l'inscription, vous pouvez utiliser mots de passe chiffrés et non chiffrés (texte brut). Ces derniers sont utilisés dans les anciens Windows (Windows for Workgroups, Windows 95 (OSR2), toutes les versions de Windows NT 3.x, Windows NT 4 (jusqu'au Service Pack 3)). Pour activer l'option d'utilisation d'un mot de passe crypté, utilisez l'option crypter le mot de passe = oui. Veuillez prêter une attention particulière à cette option. Dans les anciennes distributions Linux créées à l'époque de Windows 95 (et au-delà), ancienne version Samba) le cryptage du mot de passe est désactivé par défaut et samba est jusqu'à version 2.0 ne prend pas du tout en charge ce mode (d'ailleurs, cette option et des options similaires - celles qui ne concernent pas l'accès à des ressources spécifiques - sont également utilisées dans le client).

Pour afficher correctement les noms de fichiers russes, les options suivantes sont nécessaires : page de codes client = 866 et jeu de caractères = koi8-r. Dans les distributions avec une bonne localisation, par exemple les dérivés de Mandrake et russes, cette ligne est déjà là ; parfois il suffit de la décommenter, mais dans la plupart des autres, vous devez l'ajouter vous-même.

L'option interfaces = 192.168.0.1/24 spécifie sur quel réseau (interface) le programme doit s'exécuter si le serveur est connecté à plusieurs réseaux à la fois. Lors de la définition du paramètre bind interfaces only = yes, le serveur ne répondra qu'aux requêtes de ces réseaux.

les hôtes autorisent = 192.168.1. 192.168.2. 127. — définit les clients pour lesquels l'accès au service est permis.

Dans la section globale, vous pouvez utiliser diverses variables pour une configuration plus flexible du serveur. Une fois la connexion établie, des valeurs réelles sont remplacées. Par exemple, dans la directive log file = /var/log/samba/%m.log, le paramètre %m permet de définir un fichier journal distinct pour chaque ordinateur client. Voici les variables les plus couramment utilisées dans la section globale :

%a - Architecture du système d'exploitation sur la machine client (valeurs possibles - Win95, Win NT, INCONNU, etc.) ;

%m — Nom NetBIOS de l'ordinateur client ;

%L — Nom NetBIOS du serveur SAMBA ;

%v — Version SAMBA ;

%I — Adresse IP de l'ordinateur client ;

%T — date et heure ;

%u est le nom de l'utilisateur travaillant avec le service ;

%H est le répertoire personnel de l'utilisateur %u.

De plus, pour une configuration plus flexible, la directive include est utilisée, en utilisant les variables ci-dessus. Par exemple : include = /etc/samba/smb.conf.%m - désormais, lorsque vous demandez des ventes depuis un ordinateur et qu'il existe un fichier /etc/samba/smb.conf.sales, la configuration sera extraite de ce fichier. S'il n'existe pas de fichier séparé pour une machine particulière, un fichier commun est utilisé pour l'utiliser.

Il existe également une possibilité intéressante création serveur virtuel . Pour ce faire, utilisez le paramètre netbios aliases :

Alias ​​Netbios = administrateur de la comptabilité des ventes

Maintenant, nous disons à Samba d'utiliser son propre fichier de configuration pour chaque serveur virtuel :

Inclure = /etc/samba/smb.conf.%L

Trois serveurs seront visibles dans la fenêtre du navigateur réseau : ventes, comptabilité, administrateur.

L'activation des options de préservation de la casse et de préservation courte de la casse oblige le serveur à enregistrer toutes les entrées en respectant la casse (sous Windows, la casse n'est pas sensible à la casse, sur tous les systèmes Unix, c'est l'inverse).

La section permet aux utilisateurs de se connecter à leurs répertoires de travail sans les décrire explicitement. Lorsqu'un client demande son répertoire //sambaserver/sergej, la machine recherche la description correspondante dans le fichier et, si elle ne la trouve pas, recherche alors la présence de cette section. Si la partition existe, elle parcourt le fichier de mots de passe pour trouver le répertoire de travail de l'utilisateur effectuant la demande et, si elle le trouve, le met à la disposition de l'utilisateur.

Une description typique de cette section ressemble à ceci :

Comment = Répertoires personnels # commentaire visible dans la fenêtre des propriétés du réseau consultable = non # détermine s'il faut afficher la ressource dans la liste de navigation. accessible en écriture = oui # autorise (non - refuse) l'écriture dans le répertoire personnel mode création = 0750 # droits d'accès aux fichiers nouvellement créés mode répertoire = 0775 # également, mais uniquement pour les répertoires

Après avoir configuré les paramètres par défaut, vous pouvez créer des ressources réseau accessibles par un utilisateur ou un groupe d'utilisateurs spécifique. Une telle ressource est créée à partir d'un répertoire déjà existant ; pour cela on écrit dans le fichier :

Commentaire = Public Stuff path = /home/samba public = oui inscriptible = non imprimable = non liste d'écriture = administrateur, @sales

Le paramètre path pointe vers le répertoire dans lequel se trouve la ressource ; le paramètre public spécifie si la ressource peut être utilisée par un invité et le paramètre printable spécifie si la ressource peut être utilisée pour l'impression. Le paramètre write list permet de définir les utilisateurs autorisés à écrire sur une ressource quelle que soit la valeur inscriptible (dans cet exemple, il s'agit de l'utilisateur administrateur et du groupe commercial). Il est également possible d'utiliser la liste ci-contre - lire la liste. S'il est nécessaire de masquer certains fichiers, sous Unix/Linux, le nom du fichier doit commencer par un point (le paramètre hide dot files, qui contrôle l'affichage fichiers cachés, par défaut Oui). De plus, il est possible de spécifier des modèles pour les noms de fichiers cachés, pour lesquels le paramètre cacher les fichiers est utilisé. Chaque motif commence et se termine par une barre oblique (/) et peut contenir des caractères utilisés dans expressions régulières. Par exemple : masquer les fichiers = /*.log/??.tmp/. De telles astuces coûtent cher aux utilisateurs de Windows simplement en définissant le mode « Afficher les fichiers cachés et système » dans l'Explorateur. Pour limiter en toute confiance la disponibilité (la possibilité de supprimer) un fichier (répertoire), utilisez les fichiers veto et supprimez les paramètres des fichiers veto.

Avec les lecteurs de CD, la situation est un peu plus compliquée. Le fait est que dans les systèmes de type Unix, il n'y a pas de concept de disque en tant que tel, et pour accéder au périphérique souhaité, il doit d'abord être monté dans une arborescence de répertoires (# mount -t iso9660 /dev/cdrom / mnt/cdrom) , et après utilisation, afin de ne pas détruire système de fichiers, doit être démonté (# umount /dev/cdrom), sinon le périphérique n'abandonnera tout simplement pas le disque. Si vous avez un démon en cours d'exécution sur votre serveur autofs, alors le problème est facilement résolu. Pour démonter automatiquement un périphérique inutilisé depuis un certain temps, définissez le paramètre timeout dans le fichier /etc/auto.master sur la valeur souhaitée. Par exemple:

/mnt/auto/etc/ --timeout=5

(une ligne similaire est déjà là, il suffit de la décommenter). Définissez ensuite les options du périphérique approprié dans le fichier /etc/auto.tab :

Cdrom -fstype=auto,ro:/dev/cdrom

Après tout cela, nous écrivons les lignes suivantes dans /etc/smb.conf pour rendre cette ressource disponible :

Chemin = /mnt/cdrom inscriptible = non

La deuxième option consiste à utiliser les directives preexec et postexec, qui indiquent quelles commandes doivent être exécutées lors de l'accès à une ressource et après s'en être déconnecté (ces paramètres peuvent être spécifiés pour n'importe quelle ressource et même dans la section globale, ce qui ouvre de grandes possibilités) .

Path = /mnt/cdrom read only = oui root preexec = mount /mnt/cdrom # Seul root a le droit de monter une ressource root postexec = umount /mnt/cdrom # Naturellement, ces points de montage doivent être décrits dans le /etc/ fstab, sinon vous devez également fournir d'autres informations.

Désormais, lors de l'accès à une ressource, le CD-ROM est automatiquement monté, et parfois démonté. Tout le problème est que la décision de fermer une ressource doit être prise par le serveur - les clients, en règle générale, n'en informent pas. Mais cela se produit généralement parce que la ressource est utilisée par plusieurs utilisateurs en même temps ou est laissée sur un ordinateur. fichier ouvert sur cette ressource (Appareil occupé). Par conséquent, le CD-ROM n'est pas automatiquement démonté ; le seul moyen acceptable de libérer la ressource est de regarder à l'aide de l'utilitaire statut PME numéro du processus utilisant cette ressource et tuez-le avec la commande # kill pid_number (ou kill -s HUP pid_number).

Après avoir établi la configuration nécessaire, nous allons maintenant créer des comptes utilisateurs (à l'exception de la connexion invité avec droits minimaux personne). Pour identifier les utilisateurs SAMBA, le fichier /etc/samba/smbpasswd est utilisé, qui contient les noms d'utilisateur et les mots de passe cryptés. Étant donné que le mécanisme de cryptage des réseaux de machines Windows n'est pas compatible avec les mécanismes Unix standard, un utilitaire distinct est utilisé pour remplir le fichier de mot de passe - mot de passe smb.

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -e sergej

Cet exemple ajoute un nouvel utilisateur sergej appartenant au groupe ventes, avec un shell factice (les options possibles sont /sbin/nologin, /dev/null) et un répertoire personnel /home/samba/sergej. Ensuite, nous créons un mot de passe pour l'utilisateur sergej et la dernière étape consiste à activer l'accès pour l'utilisateur, car Il est désactivé par défaut. Un point intéressant qui peut parfois prêter à confusion. Le fait est que lors de la connexion à un serveur SAMBA sur un ordinateur avec Windows NT/2000, l'utilisateur est invité à saisir, comme prévu, un identifiant et un mot de passe, et si un ordinateur avec Windows 9x/Me est utilisé pour l'accès, alors le l'utilisateur est invité à saisir uniquement le mot de passe et la connexion est générée automatiquement en fonction du nom d'enregistrement.

Vous pouvez également mapper plusieurs utilisateurs Windows à un utilisateur Linux/Unix. Pour ce faire, un fichier de mappage /etc/smbusers.map est créé, dans lequel chaque mappage est spécifié sur une ligne distincte :

Utilisateur_Linux = utilisateur_win1 utilisateur_win2 utilisateur_winN

Dans la section, ajoutez la ligne username map = /etc/smbusers.map. Dans ce cas, l'utilisateur Windows doit s'inscrire avec le mot de passe de l'utilisateur auquel il est associé.

Grâce à SAMBA, vous pouvez organiser l'impression réseau à partir d'ordinateurs exécutant Windows (si vous prévoyez un serveur d'impression séparé, une machine basée sur un processeur 486 suffit pour cela).

Pour ce faire, vous devez écrire les lignes suivantes dans la section :

Printcap nom = /etc/printcap # fichier décrivant les imprimantes connectées au système charger les imprimantes = oui # indique la nécessité d'une inclusion automatique dans la liste des ressources réseau impression = lprng # système d'impression (pour Linux bsd peut également être utilisé).

Path = /var/spool/samba # pointe vers le répertoire où sont placés les travaux d'impression consultable = oui imprimable = oui lecture seule = oui

Après avoir créé le fichier, testez-le à l'aide de l'utilitaire parc de test. Malheureusement, en utilisant ce programme, vous ne pouvez détecter que les erreurs de syntaxe, pas les erreurs logiques, il n'y a donc aucune garantie que les services décrits dans le fichier fonctionneront correctement (pendant les tests, tous les paramètres seront affichés, même ceux installés par défaut - alors vérifiez attentivement résultat). Mais si le programme ne se plaint pas, vous pouvez espérer que le fichier sera téléchargé sans problème au lancement. Exactitude fonctionnement de l'imprimante répertoriés dans le fichier /etc/printcap sur le serveur SAMBA peuvent être vérifiés à l'aide de l'utilitaire testprns. De plus, n’oubliez pas les fichiers .log : si des problèmes surviennent, vous pouvez parfois y trouver une solution.

Parlons maintenant un peu des bonnes choses. La configuration de Samba est assez complexe, mais la distribution est livrée avec un outil d'administration Web appelé écraser(Outil d'administration Web Samba, ). Swat est lancé en tant que service ou en utilisant Serveur Apache et est destiné à éditer le fichier smb.conf, ainsi qu'à vérifier l'état, démarrer et arrêter les démons Samba et modifier les mots de passe des utilisateurs. Pour qu'il fonctionne en tant que service, le fichier /etc/services doit contenir la ligne swat 901/tcp, et le fichier /etc/inetd.conf doit contenir swat stream tcp nowait.400 root /usr/local/samba/bin/ swat swat (c'est si le démon réseau est utilisé inetd, généralement dans les anciennes distributions ; les distributions modernes utilisent une option plus sécurisée - xinetd). Pour utiliser swat dans le répertoire /etc/xinet.d, créez un fichier swat avec le contenu suivant :

Service swat ( désactiver = pas de port = 901 socket_type = stream wait = non only_from = 127.0.0.1 # ceci est une ligne à exécuter uniquement à partir de machine locale utilisateur = serveur racine = /usr/sbin/swat log_on_failure += USERID )

Maintenant, pour lancer Swat dans la fenêtre de votre navigateur, saisissez :

Http://localhost:901

Mais avant cela, assurez-vous de créer un utilisateur administrateur de la manière décrite ci-dessus. Et n'exécutez jamais le service SAMBA au nom de racine.

Après toutes les modifications apportées au fichier smb.conf, vous devrez parfois redémarrer le démon :

Smb : /etc/rc.d/init.d/smb restart

Si après toutes les étapes ci-dessus, il n'était toujours pas possible d'organiser l'accès aux ressources SAMBA, alors des utilitaires tels que pinger(pour vérifier la disponibilité d'un nœud sur le réseau), nmblookup(pour interroger les noms NetBIOS), ou en dernier recours tcpdump. Et n'oubliez pas les droits d'accès, car en attribuant le répertoire /gde/to/w/glubine à l'utilisateur, vous lui donnerez la possibilité de lire (exécuter correctement) les répertoires précédents.

Parlons maintenant de l'utilisation du client Samba, car nous ( Utilisateurs Linux) Je souhaite également travailler avec les ressources réseau Windows. Pour connaître les ressources disponibles, vous devez saisir la commande /usr/bin/smbclient -L host_name. Le programme demandera un mot de passe, en réponse auquel, dans la plupart des cas, il vous suffira d'appuyer sur Entrée. Maintenant, pour vous connecter à la ressource requise, entrez le nom de l'ordinateur et la ressource requise. Par exemple:

# /usr/bin/smbclient \\Alex\Sound

(ici nous essayons de nous connecter au dossier Sound sur l'ordinateur d'Alex). Par conséquent, si la commande a été saisie correctement et que la ressource réseau existe, vous devriez être invité à saisir un mot de passe. Saisissez-le ou appuyez sur Entrée si aucun mot de passe n'est requis pour l'accès. En réponse, vous recevrez une invite du client samba : smb : >. Le travail ultérieur s'effectue grâce à un ensemble de commandes avec lesquelles vous pouvez effectuer toutes les opérations nécessaires pour travailler avec des fichiers (copie, création, déplacement, etc.). Pour obtenir de l'aide, saisissez smb : > help. Ce mode est quelque peu gênant, donc dans la plupart des cas, le module est utilisé PME, une partie de la samba ; mais dans les anciennes distributions, le noyau peut être compilé sans le support de smbfs, et il devra alors être reconstruit. Pour monter la ressource requise, tapez quelque chose comme ceci :

Mount -t smbfs -o username=user,password=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

Si vous ne spécifiez pas de nom d'utilisateur et de mot de passe, le système vous les demandera. N'oubliez pas qu'en consultant le fichier ~HOME/.bash_history, vous pouvez connaître le mot de passe en fonction des commandes que vous avez saisies. Autre subtilité : si le programme smbclient affiche correctement les fichiers avec des noms russes, alors le module smbfs ne prête parfois absolument aucune attention aux autres encodages, même si vous le spécifiez explicitement. Ils disent que cela peut être résolu avec un correctif, mais je n'en ai pas encore trouvé pour mon Red Hat.

Si vous souhaitez que le partage SMB soit monté automatiquement au démarrage du système, ajoutez une ligne comme celle-ci à votre fichier /etc/fstab :

//guest@alex/sound /mnt/alex/sound smbfs rw, noauto 0 0.

Dans cet exemple, au nom de l'utilisateur invité(si la ressource supporte cet utilisateur et si cet utilisateur n'y a accès qu'avec un mot de passe, alors ne vous inquiétez pas : il vous sera certainement demandé) la ressource réseau son sur l'ordinateur alex est montée dans le dossier /mnt/alex/sound avec la possibilité d'écrire dans ce répertoire. À propos, le client Samba voit parfaitement les ressources réseau cachées, c'est-à-dire ceux dont le nom de réseau se termine par le signe $.

Comme vous pouvez le constater, vous devez travailler avec la ligne de commande, ce qui provoque une horreur silencieuse pour l'utilisateur moderne. Et ici, le monde OpenSource l'a rencontré à mi-chemin - de nombreux utilitaires ont été créés pour vous permettre de travailler avec les ressources Samba d'une manière plus familière, en appuyant sur les boutons des shells graphiques. Le programme le plus populaire inclus dans la distribution Mandrake et ses dérivés, ainsi que Debian - gnomba. Dans tous les cas, on le trouve sur la plupart des serveurs équipés de logiciels Linux (je l'ai vu sur ftp://ftp.altlinux.ru/ c'est sûr). Cet utilitaire permet de visualiser les ressources réseau disponibles () et, si nécessaire, de les monter dans le répertoire souhaité, tandis qu'une option de montage est possible en spécifiant le login et le mot de passe des ressources qui en ont besoin. Lancement possible gestionnaire de fichiers une fois monté (par défaut gmc), création de répertoires pour les ressources montées, paramétrage de l'option d'analyse automatique au démarrage du programme (possible via le protocole SMB par défaut) et d'analyse par adresses IP (prévue via le protocole WINS). Pour des raisons que je ne connais pas, dans certaines distributions, lors de l'analyse via le protocole SMB, les ressources réseau n'étaient pas affichées, j'utilise donc toujours la deuxième méthode, car elle fonctionne parfaitement, il vous suffit de définir la plage d'adresses IP à analyser (si Vous savez). Pour que les noms de fichiers russes s'affichent correctement, n'oubliez pas d'installer les polices koi8-r dans l'onglet Options > Sélection de police, et vérifiez également les lignes indiquant l'encodage cyrillique dans le fichier smb.conf (voir ci-dessus).

Si gnomba ne peut monter et démonter que des ressources, alors le programme navigateur xsm Il vous permet également de les saisir sous forme de dossiers sur l'ordinateur local (). Certes, je n'ai pas encore réussi à faire comprendre à ce programme les fichiers avec des noms russes, mais il y a aussi des aspects positifs : lorsque ce programme est en cours d'exécution, toutes les commandes de montage et diverses requêtes réseau sont envoyées à la console, ce qui permet de comprendre eux bien. Les développeurs de KDE ont également essayé : via Préférences > Informations utilitaire disponible Statut Samba, affichant toutes les connexions vers/depuis ordinateur local, qui est également un outil pratique pour afficher les fichiers .log. L'utilitaire fournit des informations similaires komba, disponible sur http://linux.tucows.com/().

Même si j’aimerais vous en dire plus, un magazine reste un magazine : on ne peut pas tout contenir. Ensuite, l'homme et les informations omniprésents viendront à votre aide. De plus, toutes les informations de référence nécessaires peuvent être obtenues à partir de l'utilitaire SWAT, et dans Red Hat 7.3, il y avait un livre Using Samba Robert"a Eckstein"a(Langue anglaise - mauvais, entièrement gratuit - bon : /usr/share/swat/using_samba), également disponible auprès de SWAT (). Une documentation supplémentaire, des FAQ et des exemples de fichiers de configuration sont disponibles dans le répertoire /usr/share/doc/samba. Dans divers forums, vous pouvez trouver des opinions assez contradictoires sur le travail de Samba, allant d'extrêmement négatives à délice complet. Personnellement, je suis du côté de ceux qui soutiennent cela. Émulateur Windows NT, en outre, selon les résultats des tests effectués avec le même équipement, le serveur Samba affiche des performances environ 25 à 30 % supérieures à celles d'un ordinateur exécutant un système de Microsoft. Bonne chance.

Parfois, vous devez très rapidement configurer un partage de fichiers sur le serveur et y ouvrir l'accès. Dans ce cas, il n’est pas nécessaire de s’enfermer dans des configurations complexes, des droits d’accès ou quoi que ce soit d’autre. Vous avez juste besoin d'un accès rapide aux informations sans questions inutiles.

Par exemple, j'ai récemment eu besoin de quelque chose comme ça pour ouvrir l'accès à sauvegardes, qui étaient stockés sur le serveur. Je ne voulais pas comprendre et chercher des informations moi-même, je devais donner rapidement à la personne un accès en lecture pour qu'elle puisse trouver tout ce dont elle avait besoin.

Je ne traiterai pas spécifiquement des versions du système d'exploitation. Les configurations de Samba sont les mêmes presque partout où j'ai travaillé avec elles, en particulier dans les configurations les plus simples.

Alors, installez samba avec n'importe quel d'une manière appropriée pour votre système opérateur. Les configurations sont valables pour la version 3 de samba. Ensuite, nous décidons de ce dont nous avons besoin :

  • accès par utilisateur et mot de passe,
  • accès par adresse IP,
  • accès à tous sans restrictions.

En fonction de cela, les paramètres seront légèrement différents.

Pour l'accès par mot de passe dessinez la configuration suivante :

Sécurité = utilisateur passdb backend = groupe de travail tdbsam = chaîne du serveur MYGROUP = chemin Samba = /mnt/shara utilisateurs valides = @users force group = les utilisateurs créent un masque = 0660 masque de répertoire = 0771 inscriptible = oui consultable = oui

# useradd share-user -M -G utilisateurs -s /sbin/nologin

Nous importons cet utilisateur dans Samba et définissons le mot de passe :

# smbpasswd -un utilisateur partagé

Et on essaie d'aller au bal à l'adresse :

\\IP du serveur\partage

Organiser accès en fonction de l'adresse IP, effectuez les réglages suivants dans smb.conf :

Sécurité = groupe de travail partagé = chaîne du serveur MYGROUP = mappage Samba vers invité = chemin utilisateur incorrect = /mnt/files consultable = oui accessible en écriture = oui invité ok = oui lecture seule = aucun hôte n'est autorisé = 192.168.0.171

Dans ce cas accès total sera à l'adresse 192.168.0.171. Pour ajouter l'intégralité du sous-réseau, vous devez spécifier les éléments suivants :

Les hôtes autorisent = 192.168.0.

Vous pouvez combiner différents sous-réseaux et adresses, en les séparant par des espaces. Afin de désactiver l'accès à certaines adresses individuelles à partir d'un sous-réseau autorisé, vous pouvez procéder comme suit :

Les hôtes autorisent = 192.168.0. sauf 192.168.0.15

L'accès sera autorisé à l'ensemble du sous-réseau 192.168.0.0/24, à l'exception de l'adresse 192.168.0.15.

Nous redémarrons la samba et vérifions.

Si samba 4 est installé, alors cette configuration ne fonctionnera pas et vous recevrez une erreur :

AVERTISSEMENT : valeur non valide ignorée "share" for parameter "security" !}

Pour que l'accès IP fonctionne correctement, vous devez apporter les modifications suivantes à la configuration ci-dessus :

Sécurité = mappage utilisateur vers invité = mot de passe incorrect

Laissez le reste des paramètres inchangés. Après cela, l'accès via IP fonctionnera sur la version 4 de Samba.

Si l'accès sera fourni à tous sans restrictions, alors la configuration samba la plus simple ressemblera à ceci :

Sécurité = groupe de travail utilisateur = chaîne du serveur MYGROUP = compte invité Samba = personne mappé à l'invité = mauvais chemin utilisateur = /mnt/files consultable = oui invité ok = oui accessible en écriture = oui public = oui

N'oubliez pas de donner à chacun les droits sur le dossier :

# chmod 0777 /mnt/fichiers

Redémarrez Samba et essayez de vous connecter. Ils devraient vous laisser entrer sans poser de questions.

C'est ainsi que vous pouvez organiser un simple serveur de fichiers en utilisant samba en seulement 5 minutes. Et souvent, c’est plus difficile et ce n’est pas nécessaire. Pour une sorte de vidage de fichiers, la dernière option convient.

Pour les configurations plus complexes, j'ai des articles séparés :

Cours en ligne sur Linux

Si vous souhaitez apprendre à créer et maintenir des systèmes hautement disponibles et fiables, je vous recommande de vous familiariser avec cours en ligne « Administrateur Linux » dans OTUS. Le cours n'est pas destiné aux débutants ; pour être admis, vous avez besoin de connaissances de base sur les réseaux et Installer Linuxà la machine virtuelle. La formation dure 5 mois, à l'issue desquels les diplômés retenus pourront passer des entretiens avec des partenaires. Ce que ce cours vous apportera :
  • Connaissance de l'architecture Linux.
  • Développement méthodes modernes et outils d’analyse et de traitement des données.
  • Possibilité de sélectionner une configuration pour les tâches requises, de gérer les processus et d'assurer la sécurité du système.
  • Maîtriser les outils de travail de base d'un administrateur système.
  • Compréhension des spécificités du déploiement, de la configuration et de la maintenance des réseaux construits sur Linux.
  • La capacité de résoudre rapidement les problèmes émergents et d'assurer un fonctionnement stable et ininterrompu du système.
Testez-vous au test d'entrée et consultez le programme pour plus de détails.


Haut