GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Anfängerleitfaden für Samba (Installation und Konfiguration)

Was ist Samba?

Samba ist eine Open-Source-Implementierung des Server Message Block (SMB)-Protokolls. Es ermöglicht Linux, mit dem Windows-Betriebssystem sowohl als Server als auch als Client zu arbeiten. Samba teilt Linux-Dateien und -Drucker mit Windows-Systemen und gibt Linux-Benutzern auch Zugriff auf Dateien auf Windows-Systemen. Samba verwendet NetBIOS über TCP/IP (NetBT) Protokolle und benötigt nicht das NetBEUI (Microsoft Raw NetBIOS Frame) Protokoll.

In den meisten Linux-Distributionen sind mehrere Samba-Pakete enthalten:

  • Samba :Stellt einen SMB/Common Internet File System (CIFS)-Server bereit, der verwendet werden kann, um Netzwerkdienste für SMB/CIFS-Clients bereitzustellen
  • Samba-Client :Bietet einige SMB/CIFS-Clients zur Ergänzung des integrierten SMB/CIFS-Dateisystems in Linux. Diese Clients ermöglichen den Zugriff auf SMB/CIFS-Freigaben und das Drucken auf SMB/CIFS-Druckern.
  • samba-gemeinsam :Stellt Dateien bereit, die sowohl für die Server- als auch für die Client-Samba-Pakete erforderlich sind
  • samba-winbind :Stellt den winbind-Daemon und die Client-Tools bereit. winbind ermöglicht die Linux-Mitgliedschaft in Windows-Domänen und die Verwendung von Windows-Benutzer- und -Gruppenkonten
  • samba-winbind-clients :Stellt die Network Security Services (NSS)-Bibliothek und Pluggable Authentication Modules (PAM) bereit, die für die Kommunikation mit winbind benötigt werden

Verwenden Sie „yum install [package_name] ” um die Pakete zu installieren.

# yum install [package_name]

Samba-Daemons und -Dienste

Das Samba-Server-Paket enthält die folgenden Daemons und zugehörigen Dienste:

  • smbd :Der Server-Daemon, der Dateifreigabe- und Druckdienste für Windows-Clients bereitstellt. Es ist auch für die Benutzerauthentifizierung, das Sperren von Ressourcen und die gemeinsame Nutzung von Daten über das SMB-Protokoll verantwortlich.
  • nmbd :Der NetBIOS Nameserver-Daemon antwortet auf Name-Service-Anforderungen, die von SMB/CIFS in Windows-basierten Systemen erzeugt werden. Es bietet auch Browsing-Unterstützung in der Windows-Netzwerkumgebungsansicht.

Diese Daemons werden von den zugehörigen Diensten smb und nmb gesteuert, zum Beispiel:

# systemctl start smb
# systemctl start nmb

Das Paket samba-winbind enthält den winbindd-Daemon und den zugehörigen Dienst:

  • winbindd :Löst Benutzer- und Gruppeninformationen auf einem Windows-Server auf und macht diese Informationen für Linux verständlich.

Dieser Daemon wird vom winbind-Dienst gesteuert:

# systemctl start winbind

Samba-Server-Konfiguration

Die Hauptkonfigurationsdatei für Samba ist /etc/samba/smb.conf . Diese Konfigurationsdatei ist in Abschnitte unterteilt, die jeweils mit Text beginnen, der von eckigen Klammern umgeben ist. Mit Ausnahme des Abschnitts [global] beschreibt jeder Abschnitt eine gemeinsam genutzte Ressource, die als „Freigabe“ bezeichnet wird “. Typische Abschnitte sind:

Abschnitt Beschreibung
[global] Definiert globale Parameter
[Häuser] Definiert Freigaben im Homes-Verzeichnis
[Drucker] Definiert Drucker
[Freigabename] Definiert eine Freigabe

Parameter innerhalb des Abschnitts definieren die Share-Attribute. Unter der Annahme, dass die globalen Parameter richtig konfiguriert sind, definiert das folgende Beispiel eine Freigabe, die allen Windows-Benutzern Lese- und Schreibberechtigungen für das lokale /tmp-Verzeichnis gibt:

# vi /etc/samba/smb.conf
[tmp]
comment = Insert a comment here
path = /tmp
writable = yes
guest ok = yes

Siehe smb.conf man-Seite für eine Beschreibung aller Parameter, die Sie in der Konfigurationsdatei einstellen können.

# man smb.conf

Es gibt globale Parameter, Sicherheitsparameter, Protokollierungsparameter, Browserparameter, Kommunikationsparameter und Freigabeparameter. Es gibt auch mehrere grafische Benutzeroberflächen zum Konfigurieren und Verwalten von Samba. Eine Liste davon finden Sie unter http://www.samba.org/samba/GUI/.

[homes] Teilen

Samba stellt diese Freigabe bereit, um Benutzern die gemeinsame Nutzung ihrer Linux-Home-Verzeichnisse mit einem Windows-System zu erleichtern. Das Folgende ist ein Beispiel:

# vi /etc/samba/smb.conf
[homes]
comment = Insert a comment here
browsable = no
writable = yes

Diese Einstellungen hindern andere Benutzer als die Eigentümer daran, Home-Verzeichnisse zu durchsuchen, während sie angemeldeten Eigentümern vollen Zugriff gewähren.

Starten eines Samba-Servers

Um einen Samba-Server zu starten, führen Sie den unten gezeigten Befehl aus.

# systemctl start smb

Wenn Sie Konfigurationsänderungen an der Datei /etc/samba/smb.conf vornehmen, führen Sie einen Neustart durch oder laden Sie neu:

# systemctl restart smb
# systemctl reload smb

Das reload-Argument stoppt und startet den smb-Dienst nicht; es lädt nur die Konfigurationsdatei neu. Verwenden Sie den Befehl systemctl, um den Dienst so zu konfigurieren, dass er beim Booten gestartet wird. Beispiel:

# systemctl enable smb

Samba-Servertypen

– Der Servertyp wird im Abschnitt [global] der Datei /etc/samba/smb.conf konfiguriert.
– Ein eigenständiger Server kann ein Arbeitsgruppenserver oder ein Mitglied einer Arbeitsgruppe sein.
– Ein Domänenmitgliedsserver meldet sich bei einem Domänencontroller an und unterliegt den Sicherheitsregeln der Domäne.
– Ein Samba-Server kann ein Domänencontroller in einer Windows NT-Domäne, aber nicht in einer Active Directory-Domäne sein.

Weitere Details zu Samba-Servertypen finden Sie im folgenden Beitrag.

Was sind verschiedene Samba-Server-Typen?

Zugriff auf Linux-Freigaben von Windows aus

Um von Windows aus auf eine Freigabe auf einem Linux-Samba-Server zuzugreifen, öffnen Sie Arbeitsplatz oder Explorer und geben Sie den Hostnamen des Samba-Servers und den Freigabenamen im folgenden Format ein:

\\servername\sharename

Wenn Sie \\servername eingeben , zeigt Windows die Verzeichnisse an, die das Linux-System gemeinsam nutzt. Sie können auch ein Netzlaufwerk einem Freigabenamen zuordnen, indem Sie dieselbe Syntax verwenden.

smbusers File

Damit ein Windows-Benutzer auf eine Samba-Freigabe auf einem Linux-System zugreifen kann, muss der Benutzer einen Windows-Benutzernamen und ein Samba-Passwort angeben. Der Windows-Benutzername muss mit dem Linux-Benutzernamen identisch sein oder einem Linux-Benutzernamen zugeordnet werden. Samba speichert diese Benutzernamen-Maps in /etc/samba/smbusers Datei. Benutzer mit demselben Benutzernamen unter Linux und Windows benötigen keinen Eintrag in dieser Datei, aber sie benötigen trotzdem ein Samba-Passwort.

Die Datei /etc/samba/smbusers hat zwei Standardeinträge:

root = administrator admin
nobody = guest pcguest smbguest

Der erste Eintrag ordnet den Linux-Root-Benutzer dem Administrator und den Admin-Benutzern in Windows zu. Der zweite Eintrag ordnet den Linux-Benutzer none drei Windows-Benutzernamen zu – guest, pcguest, smbguest.

Um den Windows-Benutzernamen von john dem Linux-Benutzernamen von user01 zuzuordnen, fügen Sie den folgenden Eintrag zu /etc/samba/smbusers hinzu:

# vi /etc/samba/smbusers
user01 = john

Samba verwendet Samba-Passwörter, keine Linux-Passwörter, um Benutzer zu authentifizieren. Fügen Sie mit dem folgenden Befehl ein Passwort für den Benutzer user01 hinzu:

# smbpasswd –a user01 
New SMB password: 
Retype new SMB password: 
Added user oracle.

Zugriff auf Windows-Freigaben von Linux aus

Es gibt 2 Dienstprogramme, um Samba-Server abzufragen:

  • findsmb
  • smbtree

Verwenden Sie das findsmb Befehl, um ein Subnetz nach Samba-Servern abzufragen. Der Befehl zeigt die IP-Adresse, den NetBIOS-Namen, die Arbeitsgruppe, das Betriebssystem und die Version für jeden gefundenen Server an.

Sie können auch den smbtree verwenden Befehl, der ein textbasierter SMB-Netzwerkbrowser ist. Es zeigt ein Hierarchiediagramm mit allen bekannten Domänen, den Servern in diesen Domänen und den Freigaben auf den Servern.

Die GNOME- und KDE-Desktops bieten browserbasierte Dateimanager zum Anzeigen von Windows-Freigaben im Netzwerk. Geben Sie smb: ein in der Adressleiste des Dateimanagers, um Freigaben zu durchsuchen.

Verwenden Sie den smbclient Dienstprogramm zum Herstellen einer Verbindung zu einer Windows-Freigabe über die Befehlszeile. Das Format ist wie folgt:

smbclient //[servername]/[sharename] [-U [username]]

Das smb:\> Die Eingabeaufforderung wird nach erfolgreicher Anmeldung angezeigt. Geben Sie help ein, um eine Liste mit Befehlen anzuzeigen. Geben Sie exit ein, um smbclient zu beenden.

Um Samba-Freigaben einzuhängen, installieren Sie das Paket cifs-utils:

# yum install cifs-utils

Verwenden Sie die mount.cifs Befehl mit dem folgenden Format zum Mounten von Samba-Freigaben:

# mount.cifs //[servername]/[sharename] /mount-point -o username=[username],password=[password]


Cent OS
  1. NFS-Server- und Client-Installation auf CentOS 7

  2. Apache mit Tomcat, eine Schritt-für-Schritt-Anleitung zur Installation und Konfiguration

  3. Anfängerleitfaden zur Kernelmodulkonfiguration in Linux

  4. Einsteigerhandbuch für DHCP – Installieren und konfigurieren Sie DHCP-Server und -Client

  5. Anfängerleitfaden zur Yum-Konfiguration

Installation und Konfiguration von Samba Server auf CentOS 7

Samba Server-Installation auf Ubuntu 16.04 LTS

Samba-Server-Installation auf Debian 8 (Jessie)

Installation und Konfiguration von Univention Corporate Server

Ein Leitfaden für Anfänger zur Benutzerverwaltung auf Ubuntu Desktop und Server

Anfängerleitfaden für Apache HTTP Server – Installation und Konfiguration