Dezember 25, 2021

So konfigurieren Sie den Samba-Server unter Redhat Linux

In diesem Tutorial wird Schritt für Schritt anhand praktischer Beispiele erläutert, wie Sie den Samba-Server unter Linux und den Samba-Client unter Windows und Linux konfigurieren, einschließlich der Erstellung von IPTABLES-Regeln und der Konfiguration von SELinux-Booleschen Werten, um Samba-Datenverkehr zuzulassen. Erfahren Sie, wie Sie Ressourcen freigeben und auf freigegebene Ressourcen im Samba-Netzwerk zugreifen.

  • Microsoft Window Verwenden Sie das CIFS-Protokoll (Common Internet File System) für die Vernetzung.
  • CIFS wurde aus dem SMB-Protokoll (Server Message Block) entwickelt.
  • Samba ist eine Open-Source-Software.
  • Samba verwendet das TCP/IP-Protokoll.
  • Samba ist eine Linux-Implementierung von SMB/CIFS-Protokollen.
  • Samba ermöglicht die Interoperabilität zwischen Linux und Window.
  • Samba bieten Datei-und Druck-Sharing-Service zwischen Linux und Windows-System.
  • Samba ermöglicht Linux die Interaktion mit Windows-Client, Server, Mitglied von Active Directory, primärem Domänencontroller oder Mitgliedsserver.
  • Samba unterstützt Microsoft Access-Kontrolllisten.
  • Die Hauptkonfigurationsdatei des Samba-Servers ist /etc/samba/smb.conf
  • Samba Web Administration Tool (SWAT) ist ein GUI-Basis-Konfigurationstool für Samba Serveravailable von RHEL 6
  • In Linux SAMBA bietet die folgenden Dienste:
    • Benutzerauthentifizierung und -autorisierung
    • Datei- und Druckerfreigabe
    • Namensauflösung
    • Browsing

RHCE-Prüfung Thema in diesem Artikel behandelt

  • Netzwerkfreigaben für bestimmte Clients bereitstellen.
  • Stellen Sie Netzwerkfreigaben bereit, die für die Gruppenzusammenarbeit geeignet sind.

Während der RHCE-Prüfung haben Sie keinen Zugriff auf Microsoft Window, daher müssen Sie wissen, wie Sie die Samba-Konfiguration mit einem Linux-System testen.

In diesem Tutorial verwende ich zwei Systeme Server und linuxclient aus unserer LAB-Umgebung. Ich werde den Samba-Server auf dem Serversystem und den Samba-Client auf dem Linuxclient-System konfigurieren. Wenn Sie die in diesem Artikel verwendete Netzwerktopologie überprüfen möchten, lesen Sie bitte den folgenden Artikel. Labor für RHEL Praxis eingerichtet.

RPM erforderlich für Samba Server

RPM Beschreibung
samba Basis-RPM für Samba-Server
samba-client Basis-RPM für Samba-Client
samba-common Befehle einschließen, die vom Samba-Server und -Client benötigt werden
samba-doc Samba-Dokumentation bereitstellen
samba-swat GUI-Schnittstelle für Samba-Konfiguration
samba-winbind Zulassen interoperabilität zwischen Linux und Window
samba-domainjoin-gui Ermöglicht Linux-Benutzern die Verbindung mit Windows-Arbeitsgruppen und -Domänen.

LAB tasks

  • Konfigurieren Sie Samba auf dem Serversystem. Konfigurieren Sie die iptables-Firewall und SELinux-Boolesche Werte, um die Samba-Verbindung auf dem Server zuzulassen.
  • Erstellen Sie 5 Benutzer auf dem Serversystem. Erstellen Sie eine Gruppe von zwei Benutzern. Fügen Sie alle Benutzer in der Samba-Benutzerdatenbank hinzu.
  • Überprüfen Sie die Konnektivität zwischen dem Linuxclient- und dem Windowclient-System. Überprüfen Sie durch Login von einem Benutzer.
  • Erstellen Sie einen Sharedata-Ordner auf dem Server. Gewähren Sie public im Sharedata-Ordner Lese- und Schreibzugriff. Diesen Ordner öffentlich freigeben. Testformular Linux- und Window-Client.

Samba-Server konfigurieren

Auf dem Samba-Server werden folgende RPM benötigt

  • samba
  • samba-common
  • samba-winbind

Erforderliche rpm prüfen

rpm-qa-samba

Sie können RPM aus verschiedenen Quellen installieren, einschließlich YUM Repository, Dump von RPM, FTP usw. In diesem Artikel installiere ich RPM Form RHEL 6 Festplatte. Mounten Sie die RHEL 6-Festplatte im Medienordner und ändern Sie das Verzeichnis in den Paketordner

cd-media-package

Installieren Sie das erforderliche RPM.

rpm-samba

Samba-Daemons

Für Samba benötigen wir drei Dienste, einen optionalen und zwei erforderliche

Dienst Dämonen Beschreibung
Erforderlich smb smbd (SMB / CIFS-Server) Haupt-Samba-Dienst, der Benutzerauthentifizierung und -autorisierung sowie Datei- und Druckerfreigabe bietet
Erforderlich nmb nmbd (NetBIOS name server) Ressourcen Browsing
Optional winbind winbindd Für Host- und Benutzernamenauflösung

Wenn Sie gerade RPM installiert haben, werden diese Dienste gestoppt.

smb-nmb-stoped

Starten Sie die erforderlichen Dienste

smb-nmb-running

Stellen Sie sicher, dass die Dienste beim nächsten Booten von Linux ausgeführt werden

chkconfig-smb-on

So erlauben Sie Samba über die Firewall

Während der RHCE 6-Prüfung haben wir sowohl Firewall (iptables) als auch SELinux-Schutz.

Damit Samba außerhalb des Servers kommunizieren kann, müssen wir iptables und SELinux konfigurieren.

Samba in iptables zulassen

SAMBA verwendet die Ports 137,138,139 und 445

Port 137 UDP-NetBIOS-Namensdienst (WINS)
Port 138 UDP NetBIOS-Datagramm
Port 139 TCP NetBIOS-Sitzung (TCP), Windows-Datei- und Druckerfreigabe
Port 445 Microsoft-DS Active Directory, Windows-Freigaben (TCP)
Port 445 Microsoft-DS SMB-Dateifreigabe (UDP)

Firewall öffnen für Samba fügt die folgenden Regeln und starten Sie die iptables

 #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

iptables-samba-server

So erlauben Sie Samba Server von SELinux Firewall

SELinux als Sicherheitsfunktion verhindert automatisch die Anzeige einer Freigabe. SELinux ist die komplexe Sicherheitsfunktionen von Linux. Für RHCE 6 Prüfung sollten Sie folgende SELinux Booleans kennen

samba_enable_home_dirs Ermöglicht das Teilen von Home-Verzeichnissen
samba_export_all_ro Schreibgeschützten Zugriff auf ein beliebiges Verzeichnis aktivieren
samba_export_all_rw Richtet Lese-/Schreibzugriff auf ein beliebiges Verzeichnis ein
samba_share_t Standarddatei die Samba freigeben kann

Sie können samba_export_all_ro oder samba_export_all_rw Boolesche Werte in der Laborumgebung aktivieren, aber in im wirklichen Leben wäre das ein Sicherheitsrisiko. Es ist eine gute Angewohnheit, Dateitypen für Dateien und Verzeichnisse festzulegen, die über Samba freigegeben werden müssen. Sie können dies mit dem folgenden Befehl tun

# chcon -R -t samba_share_t /sharedata

In diesem Beispiel aktivieren wir das Verzeichnis /sharedata. Jetzt kann Samba dieses Verzeichnis freigeben.

Um das Standard-Home-Verzeichnis freizugeben, führen Sie den folgenden Befehl aus:

setsebool -P samba_enable_home_dirs on

– P stellt sicher, dass die Änderung nach dem Neustart erhalten bleibt.

setbool

Sie können einen neuen Samba-Benutzer nur aus gültigen Konten auf einem Linux-Computer erstellen, erstellen Sie also 5 Benutzer

useradd

Passwort für alle Benutzer festlegen. Vermeiden Sie das Festlegen eines Kennworts für das lokale System, wenn Sie diese Benutzer nur für den Samba-Dienst erstellen und ihnen keinen lokalen Systemzugriff gewähren möchten.

passwd

passwd1

Der Befehl smbpasswd -a kann verwendet werden, um einen Benutzer zur Passwortdatenbank unter /etc/samba/ für die SAMBA-Authentifizierung hinzuzufügen. Richten Sie Samba-Benutzer mit dem Befehl smbpasswd ein.

smbpasswd

Erstellen Sie eine smbgroup und fügen Sie smbuser3- und smbuser4-Benutzer hinzu

group-add

Öffnen Sie nun die Hauptkonfigurationsdatei von Samba

vi-smb-conf

Das smb.conf-Datei enthält zwei Arten von Kommentarzeilen.

  • Das Hash-Symbol (#) wird verwendet, beschreibt eine Funktion
  • Das Semikolon (;), verwendet, um auskommentieren Funktion (Hinzufügen ; um die Funktion zu deaktivieren, entfernen ; so aktivieren Sie die Funktion)

Notieren Sie sich den Wert des Arbeitsgruppenverzeichnisses

workgroup-mygroup

Es wäre dasselbe im Netzwerk für nahtlose Konnektivität

Navigieren Sie nun zum Abschnitt Definitionen freigeben Standardmäßig gibt Samba automatisch das Home-Verzeichnis des angemeldeten Benutzers frei, das in den ersten vier Zeilen dieses Abschnitts definiert ist.
browseable = keine Beschränkung des Benutzers auf sein eigenes Home-Verzeichnis. Samba liest die Home-Verzeichnisinformationen aus der Datei /etc/passwd, sodass Sie den Pfad des Home-Verzeichnisses nicht angeben müssen.
share-home

Schließen Sie den SMB.conf-Datei jetzt und notieren Sie sich die IP-Adresse des Servers

serverip

Das sind alle Konfigurationen, die wir gerade auf dem Server benötigen.

Samba-Client auf Linux-System konfigurieren

Auf dem Samba-Client werden folgende RPM benötigt

  • samba-client
  • samba-common
  • samba-winbind-client

rpm-qa-samba-client

Mounten Sie die RHEL 6-Festplatte im Medienordner und verschieben Sie sie in das Paketverzeichnis

cd-media-ls-package

Installieren Sie RPM, falls erforderlich.

rpm-samba-client

Überprüfen Sie die Konnektivität vom Samba-Server.

ping-server

Versuchen Sie, die Freigabe vom Samba-Server mit smbuser1 aufzulisten

client-login

Um das „Share user home directory“ zu überprüfen, listen Sie die Freigabe von smbuser5 auf und erstellen Sie einen sambatmp-Ordner. Angemeldet von smbuser5 und mounten sein Home-Verzeichnis im sambatmp-Ordner. Um sicherzustellen, dass der Benutzer über schreibbare Berechtigungen verfügt, erstellen Sie auch eine Testdatei.

smbuser5-login

Gehen Sie auf das Serversystem und melden Sie sich von smbuser5 aus an und überprüfen Sie die Tests.

ls-smbuser5

Wir haben den Samba-Client erfolgreich auf dem Linux-Client-System konfiguriert.

Fenster 7 als Samba-Clientsystem konfigurieren

Eigenschaften des Computers öffnen

computer-properties

Klicken Sie auf Einstellung ändern

change-setting

Klicken Sie auf Ändern

change-rename

Ändern Sie den Namen der Arbeitsgruppe in MYGROUP

mshome-workgroup

Systemneustart ist erforderlich, Neustart bestätigen

restart-ok

Überprüfen Sie nach dem Neustart des Systems die Konnektivität des Formularservers

winconnectivity

Öffnen Sie das Netzwerk und klicken Sie auf Serversystem

win-network

Anmeldung von smbuser1

smbuerlogin

Der Benutzer wird in seinem Zuhause angemeldet verzeichnis

smbuser

Wir haben Window 7 erfolgreich als Client-System von Samba konfiguriert.

Erstellen Sie einen Sharedata-Ordner auf dem Server. Gewähren Sie public im Sharedata-Ordner Lese- und Schreibzugriff. Diesen Ordner öffentlich freigeben. Testformular Linux- und Window-Client.

Erstellen Sie auf dem Server einen Ordner /sharedata. Dieser Ordner wird vom Root-Benutzer erstellt, sodass unsere Benutzer nicht in diesen Ordner schreiben können. Ändern Sie seine Erlaubnis 777. Konfigurieren Sie SELinux Boolean . Öffnen Sie nun die SMB.conf-Datei

mkdir-sharedata

Diese Freigabe von / sharedata teilt sich einen gemeinsamen Speicherort, an dem der Benutzer die Dateien herunterladen / hochladen / lesen kann. Fügen Sie an diesem Ende der Datei die folgende Zeilengruppe hinzu und speichern Sie die Datei

 # Common location for people to share files comment = common location file sharing path = /sharedata read only = no public = yes 

smb-conf-sharedata

Starten Sie den SMB-Dienst neu

restart-smb

Erstellen Sie auf linuxclient ein tmpdata-Verzeichnis und hängen Sie den sharedata-Ordner darin ein. Erstellen Sie Testdateien.

mount-sharedata

sharedata ist ein temporärer Ordner, den wir mit voller Berechtigung für alle freigegeben haben. Dies bedeutet, dass andere Benutzer in der Lage sein sollten, die von smbuser5 erstellte Datei zu lesen / schreiben. Um es zu testen, gehen Sie auf das Fenstersystem und öffnen Sie das Serversystem über das Netzwerk. Öffnen Sie den Sharedata-Ordner und lesen Sie die Datei

read-file-on-window

Löschen Sie nun diese Datei.

confirm-delete-window

Erstellen Sie einen Ordner und erstellen Sie eine Datei darin

create-file-window

Überprüfen Sie diese auf dem Serversystem.

check-on-server

Im obigen Beispiel haben wir einen Ordner versichert freigegeben, in dem jeder Benutzer andere Dateien und Ordner löschen kann. Machen Sie es jetzt ein bisschen sicherer. Gehen Sie zum Server und ändern Sie die Berechtigung in 1777

set-stickybit-sharedata

Auf linuxclient von smbuser5 angemeldet und eine Datei erstellen

linuxclient-exmpale-stickybit

Im Fenster, in dem wir von smbuser1 angemeldet sind, versuchen Sie, die Datei zu lesen.

read-stickybit-file-window

Versuchen Sie nun, diese Datei zu löschen.

try-to-delete-sticky-bit-file

Es wird geleugnet

sticky-bit-error-delete

Verweigern von Benutzern in Samba

Mit Samba können Sie Benutzer / Benutzer aus freigegebenen Ressourcen ablehnen. Um smbuser5 von sharedata fernzuhalten, öffnen Sie /etc/samba/smb.conf und ändern Sie den Konfigurationswert in folgend und speichern Sie die Datei

deny-smbuser5-server

Laden Sie den SMB-Dienst neu

reload-smb

Versuchen Sie auf dem Linuxclient-System zuerst, sharedata von smbuser5 und dann von smbuser1 zu mounten

deny-smbuser5-clinet

Wie man Samba auf die Gruppe

beschränkt Wir haben oben in diesem Tutorial eine Gruppe smbgroup erstellt. Konfigurieren Sie nun Samba so, dass nur dieser Gruppe Zugriff gewährt wird.

Ändern Sie auf dem Server die Gruppe von sharedata und aktualisieren Sie die Berechtigung auf 1770. Öffnen Sie die smb.conf-Datei

chgrp-sharedata

Aktualisieren Sie die Zeilengruppe und speichern Sie die Datei

group-samba-share

laden Sie den SMB-Dienst neu

reload-smb

Versuchen Sie es auf dem Linux-Client zuerst mit smbuser5, das nicht Mitglied der smbgroup ist, und später mit smbuser3, dem Mitglied der smbgroup

group-samba-linuxclient

Wie man Samba auf Benutzer beschränkt

Jetzt werden wir nur für Benutzer / Benutzer freigeben. Konfigurieren Sie nun Samba so, dass nur smbuser1 im Sharedata-Ordner angezeigt wird.

Machen Sie auf dem Server smbuser1 zum Eigentümer des Ordners /sharedata und aktualisieren Sie die Berechtigung. Öffnen Sie die smb.conf

samba-user-share

ändern Sie die Zeilengruppe und speichern Sie die Datei

samba-user-share-config

Laden Sie die Datei neu

reload-smb

Versuchen Sie es auf linuxclient zuerst mit anderen Benutzern und dann mit smbuser1

single-user-samba

Bisher haben wir in diesem Artikel unterschiedliche Zugriffsebenen für Samba Share konfiguriert. Denken Sie bei RHCE 6 immer daran, dass Dateiberechtigungen, Dateisystem-Mount-Optionen, SELinux-Boolesche Werte und ACL von Samba nicht überschrieben werden können. Es bedeutet, dass, wenn ein Verzeichnis keine Schreibberechtigung hat und Sie die Einstellung writeable = yes haben, es nicht schreiben darf. Dies ist der Grund, warum wir zuerst die Dateisystemberechtigung aktualisieren, als wir Samba-Einstellungen festlegen.

Während der RHCE 6-Prüfung können die folgenden 2 Befehle für Sie sehr nützlich sein.

testparm

Der Befehl testparm überprüft smb.conf-Datei für interne Fehler. Wenn die Ausgabe dieses Befehls fehlerfrei zurückkehrt, verwenden Sie die Konfigurationsdatei.

testparm

smbstatus

Dieser Befehl listet die aktuelle Samba-Verbindung auf.

smbstaus

Für RHCE 6 Prüfung sollte auch folgende Richtlinien von SMB kennen.conf-Datei

So ändern Sie den Samba-Servernamen

Standardmäßig Samba Hostname als NetBIOS-Name. NetBIOS ist der Name, den andere Clients in Netzwerk-Browse-Listen sehen, z. B. in einem Microsoft net View-Befehl oder einem regulären Linux smbclient-Befehl. Um den Namen des Samba-Servers zu ändern, kommentieren Sie aus und ändern Sie den Wert der folgenden Direktive.

; netbios name = MYSERVER

So ändern Sie den Samba-Arbeitsgruppennamen

Der Standard-Arbeitsgruppenname von Samba ist MYGROUP. Sie können es von smb aktualisieren.conf-Datei. Um den Standard-Arbeitsgruppennamen zu ändern, aktualisieren Sie den Wert der folgenden Direktive.

workgroup = MYGROUP

So beschränken Sie Samba auf lokales Netzwerk

Um den Zugriff auf das angegebene Netzwerk zu beschränken, kommentieren Sie die folgende Direktive aus und geben Sie das Netzwerk an.

; hosts allow = 127. 192.168.12. 192.168.13.

Wenn Sie den Wert auskommentieren, ohne ihn zu ändern, wird der Zugriff auf die Netzwerke mit den Netzwerk-IP-Adressen 192.168.12.0 und 192.168.13.0 sowie auf den lokalen Computer (127.): Sie können auch die hosts Deny-Direktive konfigurieren. Konfigurieren Sie Host-Allow / Deny-Direktiven hier nur, wenn Sie Änderungen global vornehmen möchten. Individuell freigegebene Verzeichnisse können auch mit hosts allow / deny konfiguriert werden. Wenn Sie also nach individuellen Konfigurationen suchen, tun Sie dies in einem eigenen Abschnitt.

network-related-opration

Das ist alles für diesen Artikel.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.