Bases de la création d'un serveur interne pour Linux (CentOS 8.1, openSUSE 15.1, Ubuntu 20.04)! Serveur de fichiers avec Samba

En raison de l'influence du virus corona, l'économie mondiale s'effondre et le télétravail est introduit l'un après l'autre quelle que soit l'échelle, mais en partageant des fichiers au sein du LAN dans la pièce en travaillant avec un PC d'une petite organisation Alors, je voudrais commencer en premier (˶˙ᵕ˙˶)

La base est ** Linux + Samba, serveur de fichiers en LAN **, commençons par partager des fichiers avec plusieurs PC de l'organisation! Pour plus de simplicité, installez Samba à partir de chaque distribution Linux et créez un serveur de fichiers Linux.

Hypothèses et préparatifs

environnement

supposition

CentOS8.1


# vi /etc/selinux/config

/etc/selinux/config


SELINUX=enforcing
→ SELINUX=Changer en désactivé

CentOS8.1


# reboot

Conditions du serveur

J'ai essayé de construire un serveur de fichiers avec Samba dans les conditions suivantes ٩ (.´͈ ᵕ `͈. ♡) ۶

adresse IP

サーバー図.png

Conditions du serveur de fichiers

Procédure de travail

Mise à jour du système d'exploitation

C'est bien sûr! La mise à jour est effectuée à l'avance

CentOS8.1


# dnf -y upgrade

openSUSE15.1


# zypper -n update

Ubuntu20.04


# apt-get -y update

** Redémarrez Linux ** lorsque la mise à jour est terminée.

Introduction de la samba

Installation de Samba

Installez Samba à partir du package de chaque distribution Linux.

CentOS8.1


# dnf -y install samba

openSUSE15.1


# zypper -n install samba

Ubuntu20.04


# apt-get -y install samba

Créer un utilisateur pour utiliser Samba

Créez un nouvel utilisateur Linux pour utiliser le serveur de fichiers Samba. Cette fois, à titre d'exemple, supposons que le serveur de fichiers est utilisé avec le nom d'utilisateur "* shonan *".

# useradd -m shonan
#sudo passwd shonan ← Définir un mot de passe pour l'utilisateur

Ensuite, enregistrez-vous auprès de Samba pour l'utilisateur Linux créé. Utilisez la commande * pdbedit *.

# pdbedit -a shonan

Ne vous confondez pas ici, vous devez définir un mot de passe supplémentaire pour le serveur de fichiers Samba en plus du mot de passe que vous avez enregistré lors de la création de l'utilisateur Linux **. N'oubliez pas que pour vous connecter au serveur de fichiers depuis Windows, c'est le mot de passe que vous avez défini avec la commande ** pdbedit, et non le mot de passe de l'utilisateur Linux (bien que j'utilise le même que le mot de passe Linux pour plus de simplicité). .. (๑ ・ ∞ ・ ๑))

Paramètres de Samba

Définissez Samba dans "/etc/samba/smb.conf".

# vi /etc/samba/smb.conf

/etc/samba/smb.conf


#Seuls les éléments à ajouter ou à modifier sont répertoriés. D'autres restent aux paramètres par défaut
[global]
   workgroup = [Nom du groupe de travail Windows auquel vous appartenez]
   hosts allow = [Adresse IP ou segment de réseau pour permettre la connexion]
[<Nom de section arbitraire>]
   comment = [Avez-vous des commentaires]
   path = [Répertoire utilisé comme serveur de fichiers]
   read only = no
   browsable = yes
   writable = yes

Ce fichier vous permet de publier en tant que serveur de fichiers à des fins flexibles en séparant les répertoires sur le serveur de fichiers Linux en tant que noms de section arbitraires.

Par conséquent, cette fois, comme décrit dans "Conditions du serveur de fichiers", je voudrais rendre le nom de section "* kazumi75kitty " et le répertoire Linux " / mnt / miura / *" disponibles comme serveur de fichiers. Je vais. De plus, comme on suppose que le réseau est à 192.168.1.0/24, autorisez ce réseau.

Ensuite, /etc/samba/smb.conf sera défini avec les paramètres suivants.

/etc/samba/smb.conf(Exemple)


#Seuls les éléments à ajouter ou à modifier sont répertoriés. D'autres restent aux paramètres par défaut
[global]
   workgroup = [Nom du groupe de travail Windows auquel vous appartenez]
   hosts allow = 192.168.1. 127.0.0.1
   #les hôtes autorisent, 192.168.1.0/Si vous souhaitez autoriser 24 et vous-même, suivez les instructions ci-dessus.
[kazumi75kitty]
   comment = File Server Test in Miura Peninsula
   path = /mnt/miura
   read only = no
   browsable = yes
   writable = yes

Le nom du groupe de travail Windows auquel j'appartiens peut être confirmé dans les propriétés système du panneau de configuration, je ne l'ai donc pas mentionné ^^

Facile à devenir accro aux répertoires

Le répertoire spécifié par "chemin" dans la section ** doit être le même que l'utilisateur enregistré avec pdbedit, sinon vous risquez de ne pas pouvoir accéder aux fichiers et répertoires sur le serveur de fichiers **, alors vérifiez correctement le propriétaire. je change

Cette fois, si vous utilisez "/ mnt / miura /" pour l'espace du serveur de fichiers, par exemple, si l'utilisateur veut l'utiliser avec shonan, le propriétaire du répertoire ** / mnt / miura / est shonan ** (pas root) est nécessaire.

Ownerchange.png Comme l'image ci-dessus (le nom d'utilisateur dans l'image est masqué car il est en fonctionnement)

Selon la distribution, cela peut être compliqué ou simple selon que smb.conf est expliqué ou non, alors référez-vous-y dans l'image (˶ ・ ᴗ ・) ⚐⚑

Vérification des paramètres

# testparm /etc/samba/smb.conf

Si vous voyez «Fichier de services chargé OK», les paramètres doivent être corrects.

Démarrage du service Samba

CentOS8.1 ・ openSUSE15.1


# systemctl start smb
# systemctl enable smb
# systemctl status smb

Ubuntu20.04


# systemctl start smbd
# systemctl enable smbd
# systemctl status smbd

En utilisant enable, vous pouvez utiliser le serveur de fichiers automatiquement même après le redémarrage.

Vérifiez si «Actif» et «En cours d'exécution» sont affichés dans l'état et «Échec» ne s'affiche pas. S'il est "Échec", vous devrez revenir en arrière pour vérifier à nouveau, comme un paramètre mal orthographié dans smb.conf.

Vérifiez ensuite le journal et s'il n'y a pas d'erreurs, il connaît le répertoire spécifié dans smb.conf.

# less -r /var/log/samba/log.smbd

Si un échec de spécification de chemin est affiché, tel que "canonicalize_connect_path failed for service samba, path / mnt / miura", assurez-vous que le répertoire spécifié existe, vérifiez le propriétaire et les autorisations avec la commande ls -l et accédez-y. Ça ne l'est peut-être pas.

Accédons au serveur de fichiers

Maintenant, accédons au serveur de fichiers Linux à partir d'un client Windows. Dans l'Explorateur Windows, entrez \\ [Adresse IP du serveur de fichiers Linux].

Tout d'abord, ouvrez le firewalld (les détails seront décrits plus tard).

# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload

Ici, comme l'adresse IP du serveur est 192.168.1.18, accédez avec "\\ 192.168.1.18 \". Si vous parvenez à identifier le serveur, vous devriez obtenir une boîte de dialogue Échec de l'authentification de la sécurité Windows. Conn-OK.png

Et si je ne peux pas me connecter?

Conn-NG.png Si vous voyez un message indiquant que vous ne pouvez pas vous connecter à la place de l'écran d'échec d'authentification initial, vous pouvez utiliser "firewall-cmd --list-all" dans les paramètres de firewalld (décrit plus loin) et "samba" est autorisé pour le service. S'il n'existe pas, ou si vous vérifiez si le service Samba est démarré sous Linux avec "systemctl status smb (d)", vous pouvez voir un échec de démarrage tel que "Failed".

Connectons-nous

Si la boîte de dialogue d'échec d'authentification s'affiche et que vous pouvez vous connecter au serveur de fichiers, connectez-vous en tant qu'utilisateur enregistré dans Samba avec pdbedit. Dans le cas de shonan dans cet exemple, saisissez shonan comme nom d'utilisateur et mot de passe ** lors de l'enregistrement avec pdbedit ** (** distinguez-le du mot de passe de l'utilisateur Linux **) et connectez-vous. Faire. Conn-logged-on.png Ensuite, si ce qui est défini comme le nom de l'espace fichier, "kazumi75kitty" dans cet exemple est affiché, cela signifie que l'espace fichier créé par la section créée dans smb.conf est reconnu normalement.

Mettons le fichier

Une fois l'espace fichier reconnu, essayez de placer n'importe quel fichier de différentes manières. FileSave-OK.png Assurez-vous également que le fichier placé peut être modifié et enregistré sous Windows.

Si le fichier ne peut pas être placé ou devient en lecture seule

Du côté du serveur Linux, le répertoire utilisé comme serveur de fichiers a un propriétaire différent ou les permissions ne peuvent pas être lues ou écrites, alors reconfirmez avec la commande ls -l.

Sécurité de base

Sécurité de base dans les paramètres Samba

Fondamentalement, c'est une prémisse majeure que l'accès aux étrangers n'est pas autorisé. En tant que sécurité appliquée, il existe également une méthode utilisant un domaine ou Active Directory, mais elle est omise ici. Restreignez les hôtes autorisés dans ** smb.conf en autorisant l'accès uniquement au réseau auquel vous appartenez, en supposant que vous n'accéderez pas à partir des réseaux externes. ** **

Dans cet exemple, le serveur de fichiers est utilisé à 192.168.1.0/24, mais que se passe-t-il si 192.168.1. N'est-il pas autorisé à partir des hôtes autoriser dans smb.conf? ??

Par exemple, n'autorisez pas 192.168.1., Mais autorisez 192.168.2., Comme indiqué ci-dessous. ~~hosts allow = 192.168.1. 127.0.0.1~~ hosts allow = 192.168.2. 127.0.0.1 Smb-allowdomainchg-1.png

Ainsi, lorsque vous accédez à "\\ 192.168.1.18 \" dans l'Explorateur, vous devriez obtenir l'erreur suivante: Smb-allowdomainchg-2.png Et le journal /var/log/samba/log.smbd montre que l'accès à partir de 192.168.1.11 est refusé, comme indiqué ci-dessous. Smb-allowdomainchg-3.png

De cette manière, vous avez pu limiter les domaines réseau que Samba peut utiliser.

Sécurité de base avec pare-feu

Je pense que j'ai ouvert le pare-feu suivant avec "firewall-cmd" plus tôt.

# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload

Cela signifie que le pare-feu Linux appelé firewalld autorise toujours le service appelé Samba à recevoir, et n'autorise pas les services autres que ceux spécifiés. Pour vérifier quels services sont autorisés, entrez la commande suivante et vérifiez si les services autorisés sont affichés sous services: comme "services: dhcpv6-client ssh samba".

# firewall-cmd --list-all

De plus, il est possible d'utiliser des règles riches pour autoriser le port utilisé par Samba vers une adresse IP ou un réseau spécifique, mais ceci est omis ici.

Les références

  1. Guide de construction du serveur réseau réalisé avec CentOS7 [Groupe d'étude sur la construction du serveur] Système Hidekazu
  2. Ingénierie du traitement de l'information - Système d'exploitation et mécanisme Internet - [par Hiroyo Kinoshita] Corona

Recommended Posts

Bases de la création d'un serveur interne pour Linux (CentOS 8.1, openSUSE 15.1, Ubuntu 20.04)! Serveur de fichiers avec Samba
Construction du serveur de fichiers Linux (Ubuntu et Samba)
[Linux] WSL2 Créer un environnement pour laravel7 avec Ubuntu 20.04
Vérifiez l'état de la mémoire du serveur avec la commande gratuite Linux
Vérifiez l'état de fonctionnement du serveur avec la commande Linux top
Vérifiez la protection de la mémoire de Linux Kerne avec le code pour ARM
[À voir pour les débutants] Bases de Linux
Modifiez le fichier du serveur de destination de la connexion SSH sur le serveur avec VS Code
Vérifier l'existence du fichier avec python
La troisième nuit de la boucle avec pour
Comment mettre à niveau correctement le logiciel lors de la construction de Linux (CentOS) avec Vagrant ~ En utilisant l'exemple de mise à niveau de Python 2.7 vers Python 3.6 ~
[Linux] Découvrez les bases des commandes shell
La deuxième nuit de la boucle avec pour
[Python3] Comprendre les bases des opérations sur les fichiers
Construire un environnement Anaconda pour Python avec pyenv
Ajustez les autorisations des fichiers avec la commande Linux chmod
Diverses commandes pour créer un environnement avec Apache
Convertir le code de caractère du fichier avec Python3
Essayez de créer un environnement pour MayaPython avec VisualStudioCode
Construisez un serveur API pour vérifier le fonctionnement de l'implémentation frontale avec python3 et Flask
Nous avons organisé une session d'étude en interne sur la programmation mob avec le thème de FizzBuzz.