Vor Kurzem musste unser kleines Team einen freigegebenen Ordner auf dem Server freigeben, damit jeder öffentliche Ressourcendokumente speichern kann. Sie denken, das muss ganz einfach sein. Unter Windows müssen wir nur ein entsprechendes Windows-Konto erstellen, einen Ordner freigeben und dem erstellten Konto Lese-/Schreibberechtigungen erteilen, um die Freigabe abzuschließen. Unter Linux ist das jedoch nicht so schön. Die meisten Ressourcenmaterialien im Internet verweisen darauf, die Freigabeaufgabe über Samba abzuschließen, aber einige Blogs erklären nur, wie es geht, aber nicht, warum es geht. Die Einrichtung ist nicht reibungslos. Ich kenne mich mit Linux nicht aus und habe viele Umwege gemacht, daher werde ich in diesem Blog jeden Schritt gründlich verstehen. Einführung in Samba Samba ist eine kostenlose Software, die das SMB-Protokoll auf Linux- und UNIX-Systemen implementiert und aus Server- und Client-Programmen besteht. Das ist Schwachsinn... lass uns etwas Interessantes sehen. Der Autor Tridgwell beantragte die Registrierung des Markenzeichens dieser Software mit SMBServer (kurz für Server Message Block), es gab jedoch keine Möglichkeit, es zu registrieren, da SMB ein bedeutungsloses Wort ist. Dann schlug er im Wörterbuch nach und sah, dass SAMBA die Buchstaben SMB enthält, was auch der Name des lateinamerikanischen Tanzes ist, den wir alle kennen. So entstand der Name Sanba. (Aus Wikipedia) Um ein freigegebenes Samba-Verzeichnis zu erstellen und einen Benutzernamen/ein Passwort für den Zugriff auf das freigegebene Verzeichnis zu benötigen, müssen wir zuerst einen Linux-Benutzer erstellen und dann über smbpasswd einen Samba-Benutzer erstellen (der Benutzername muss derselbe sein). Der Originaltext lautet hier: Um die Authentifizierung auf einem eigenständigen Host bereitzustellen, müssen Sie die Konten lokal auf dem Betriebssystem und zusätzlich in der Samba-Datenbank erstellen. Standardmäßig verwendet Samba das tdbsam-Backend und speichert die Datenbank in der Datei /usr/local/samba/private/passdb.tdb. Optional können Sie mit dem Backend-Parameter passdb einen anderen Speicherort in der Datei smb.conf festlegen. Weitere Informationen finden Sie auf der Manpage smb.conf 5 (von https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server). Erstellen Sie ein freigegebenes Verzeichnis, das eine Benutzernamenauthentifizierung erfordert 1. Erstellen Sie einen Benutzer für das freigegebene Verzeichnis. Wir verwenden hier zur Veranschaulichung eine Gruppe. Gruppenzusatz smbgrp useradd fielshare -s /sbin/nologin -g smbgrp -p <Passwort> #Erstellen Sie einen SMB-Benutzer mit demselben Namen. Das Passwort hier ist völlig unabhängig vom Passwort des lokalen Benutzers. Der Benutzer, den wir schließlich verwendet haben, wurde mit smbpasswd -a fielshare erstellt. 2. Erstellen Sie ein Arbeitsverzeichnis, das freigegeben werden muss, und legen Sie die Ordnerberechtigungen fest mkdir -p /srv/samba/sicher chmod -R 0770 /srv/samba/secure chown -R root:smbgrp /srv/samba/secure Um ein freigegebenes Samba-Verzeichnis zu erstellen und einen Benutzernamen/ein Passwort für den Zugriff auf das freigegebene Verzeichnis zu benötigen, müssen wir zuerst einen Linux-Benutzer erstellen und dann über smbpasswd einen Samba-Benutzer erstellen (der Benutzername muss derselbe sein). Der Originaltext lautet hier: 3. Ändern des Sicherheitskontexts chcon -t samba_share_t /srv/samba/secure Dieser Befehl ist ein SELinux-Befehl (siehe Security-Enhanced Linux), der /srv/samba/securel in den Samba-Kontext umschaltet. 4. Ändern Sie die Konfigurationsdatei smb.conf Bevor wir die Konfigurationsdatei ändern, sollten wir sie sichern, um Unfälle zu vermeiden. cp /etc/samba/smb.conf /etc/samba/smb.conf.orig Dabei haben wir folgende Aufgaben zu erledigen: 1. Ändern Sie die Arbeitsgruppe im Abschnitt [global] in WORKGROUP (der Name der Arbeitsgruppe wird unter Arbeitsplatz => Eigenschaften => Computername angezeigt). 2. Legen Sie den NetBIOS-Namen unter [global] fest. Dies kann alles sein, genau wie der Computername, den wir in „Meine Nachbarschaft“ sehen. #Der Ordnername, der angezeigt wird, wenn Sie in „Meine Nachbarschaft“ darauf klicken [Teilen] Kommentar = Sichere Dateiserverfreigabe # Pfad zum freizugebenden Verzeichnis = /srv/samba/secure # Zugängliche Benutzer, mehrere Benutzer sind durch Leerzeichen getrennt und die Benutzergruppe beginnt mit @ valid users = @smbgrp # Anonymen Zugriff deaktivieren und auf Nein setzen Gast ok = nein beschreibbar = ja durchsuchbar = ja Die gesamte smb.conf-Datei sieht wie folgt aus: # Siehe smb.conf.example für eine detailliertere Konfigurationsdatei oder # Lesen Sie die Manpage von smb.conf. # Führen Sie 'testparm' aus, um zu überprüfen, ob die Konfiguration korrekt ist # Sie haben es geändert. [global] Arbeitsgruppe = ARBEITSGRUPPE NetBIOS-Name = CentOS Sicherheit = Benutzer passdb backend = tdbsam Druck = Tassen Druckkappenname = Tassen Drucker laden = nein Tassen Optionen = roh [Drucker] Kommentar = Alle Drucker Pfad = /var/tmp druckbar = Ja Maske erstellen = 0600 durchsuchbar = Nein [drucken$] Kommentar = Druckertreiber Pfad = /var/lib/samba/drivers Liste schreiben = @printadmin root Force-Gruppe = @printadmin Maske erstellen = 0664 Verzeichnismaske = 0775 [Aktie] Kommentar = Sichere Dateifreigabe Pfad = /srv/samba/secure gültige Benutzer = @smbgrp Gast ok = nein beschreibbar = ja durchsuchbar = ja durchsuchbar = ja Beachten Sie, dass smb.conf standardmäßig einen [home]-Knoten hat. Wenn Sie keinen Ordner mit demselben Namen wie Ihr Benutzername haben möchten, löschen Sie ihn bitte. Beenden Sie die Bearbeitung, speichern Sie die Konfigurationsdatei, Nach der Ausführung von testparm erhalten Sie ein Ergebnis ähnlich dem folgenden, was bedeutet, dass kein Problem mit der Konfigurationsdatei vorliegt [root@localhost software]# testparm Laden Sie SMB-Konfigurationsdateien aus /etc/samba/smb.conf rlimit_max: Erhöhen von rlimit_max (1024) auf das minimale Windows-Limit (16384) Verarbeitungsbereich „[Drucker]“ Verarbeitungsabschnitt "[print$]" Verarbeitungsabschnitt „[share]“ Die geladene Dienstedatei ist erfolgreich. Serverrolle: ROLE_STANDALONE Drücken Sie die Eingabetaste, um einen Dump Ihrer Servicedefinitionen anzuzeigen. # Globale Parameter [global] Drucker laden = Nein NetBIOS-Name = CENTOS-SHARE Druckkappenname = Tassen Sicherheit = BENUTZER idmap-Konfiguration *: Backend = tdb Tassen Optionen = roh [Drucker] durchsuchbar = Nein Kommentar = Alle Drucker Maske erstellen = 0600 Pfad = /var/tmp druckbar = Ja [drucken$] Kommentar = Druckertreiber Maske erstellen = 0664 Verzeichnismaske = 0775 Force-Gruppe = @printadmin Pfad = /var/lib/samba/drivers Liste schreiben = @printadmin root [Aktie] Kommentar = Sichere Dateifreigabe Pfad = /home/share Nur lesen = Nein gültige Benutzer = @smbgrp [root@localhost software]# 5. Starten Sie den Samba-Dienst neu und öffnen Sie meinen Computer zum Testen systemctl startet smb.service neu systemctl restart nmb.service Da sich die Testmaschine und der Linux-Host nicht im selben Netzwerk befinden, kann ich den von mir konfigurierten CENTOS-SHARE in meiner Nachbarschaft nicht finden. Hier greife ich direkt über IP darauf zu 6. Vergessen Sie nicht, eine Firewall hinzuzufügen, sonst können Sie Ihre Nachbarn nicht sehen Firewall-Befehl --permanent --zone=public --add-service=samba Firewall-Befehl --reload Zusammenfassen Hier zeigen wir nur, wie Ordner im Benutzernamen-Authentifizierungsmodus freigegeben werden, der hauptsächlich für Windows gedacht ist. Studenten, die damit nicht vertraut sind, können die anonyme Freigabe selbst ausprobieren. Während des Einrichtungsprozesses kam ich mit etwas in Berührung, was ich noch nie zuvor gesehen hatte: SELinux, und auf diesem Gebiet gibt es noch viel zu tun. Im Internet gibt es viele Artikel, die die Verwendung von SAMBA vorstellen. Der Zweck dieses Blogs besteht darin, Ihnen die Verwendung aus verschiedenen Perspektiven zu erläutern. Das könnte Sie auch interessieren:
|
<<: MySQL-Grundlagen in 1 Stunde
>>: Vue verwendet Mixins zur Optimierung von Komponenten
Weiterführende Literatur: MySQL8.0.20-Installatio...
1. MyISAM-Speicher-Engine Mangel: Keine Unterstüt...
Wie kann festgestellt werden, ob das aktuelle Lin...
50 Zeilen Code zum Ändern von 5 Hautfarben, einsc...
Inhaltsverzeichnis 1. Baidu-Enzyklopädie 1. MySQL...
MyISAM und InnoDB sind die gängigsten Speicher-En...
1. Laden Sie cuda10.1 herunter: Link zur offiziel...
Verwenden Sie das Linux-Dienstprogramm certbot, u...
Systemversion [root@ ~]# cat /etc/redhat-release ...
Wird MySQLs IN den Index ungültig machen? Gewohnh...
Inhaltsverzeichnis 1. Einführung in NFS 2. NFS-Ko...
Inhaltsverzeichnis 1. Selbstaufzählbare Eigenscha...
Im vorherigen Artikel habe ich die Grundkenntniss...
Inhaltsverzeichnis Lösungsanalyse Scheibe Lebensl...
Dieser Artikel erläutert anhand von Beispielen di...