Linux Samba-Server – sehr detaillierte Installation und Konfiguration (mit Problemlösung)

Linux Samba-Server – sehr detaillierte Installation und Konfiguration (mit Problemlösung)

Auf der Anwendungsplattform für die Entwicklung eingebetteter Systeme sind TFTP-, NFS- und Samba-Server die am häufigsten verwendeten Dateiübertragungstools. TFTP und NFS sind häufig verwendete Übertragungstools in der eingebetteten Linux-Entwicklungsumgebung, und Samba ist ein Dateiübertragungstool zwischen Linux und Windows.

Samba ist ein Kommunikationsprotokoll, das das SMB der Windows-Netzwerkumgebung imitiert, das Linux-Betriebssystem als Windows-Betriebssystem „vorgibt“ und Dateien über die Netzwerkumgebung überträgt.

Version der virtuellen Maschine: VMware10

Linux-Betriebssystemversion: Red Hat Enterprise Linux 5

Einführung in den Samba-Server

Samba ist eine kostenlose Software, die das SMB-Protokoll (Session Message Block) auf Linux-Systemen implementiert, um die gemeinsame Nutzung von Dateien und Druckerdiensten zu ermöglichen.

Samba-Serverkomponenten

Samba hat zwei Hauptprozesse: smbd und nmbd. Der SMBD-Prozess stellt Datei- und Druckdienste bereit, während NMBD NetBIOS-Namensdienste und Browsing-Unterstützung bereitstellt, SMB-Clients bei der Lokalisierung von Servern hilft und alle UDP-basierten Protokolle verarbeitet.

Samba-Server-bezogene Konfigurationsdateien

/etc/samba/smb.conf
Dies ist die Hauptkonfigurationsdatei für Samba. Im Grunde gibt es nur diese Datei, und die Beschreibung dieser Konfigurationsdatei selbst ist sehr detailliert. Zu den Haupteinstellungen gehören globale Servereinstellungen, wie Arbeitsgruppe, NetBIOS-Name und Kennwortebene, sowie auf freigegebene Verzeichnisse bezogene Einstellungen, wie das eigentliche Verzeichnis, der Name der freigegebenen Ressource und Berechtigungen.

/etc/samba/lmhosts
Der frühe NetBIOS-Name erforderte eine zusätzliche Konfiguration, daher wird die IP-Datei benötigt, die dem NetBIOS-Namen dieses lmhosts entspricht. Tatsächlich ist es ein bisschen ähnlich wie das, was /etc/hosts macht! Es ist nur so, dass der Hostname, der diesem lmhosts entspricht, der NetBIOS-Name ist! Nicht mit /etc/hosts verwechseln! Derzeit verwendet Samba standardmäßig Ihren lokalen Hostnamen als Ihren NetBIOS-Namen. Es spielt also keine Rolle, ob diese Datei festgelegt ist.

/etc/sysconfig/samba
Geben Sie die Serviceparameter an, die Sie beim Starten von smbd und nmbd hinzufügen möchten.

/etc/samba/smbusers
Da die Administrator- und Gastkontennamen in Windows und Linux unterschiedlich sind, z. B.: Administrator (Windows) und Root (Linux), können Sie diese Datei verwenden, um die Kontobeziehung zwischen beiden anzupassen.

/var/lib/samba/private/{passdb.tdb,secrets.tdb}
Datenbankdateien zum Verwalten von Samba-Benutzerkonten/Passwörtern;

/usr/share/doc/samba-<version>
Dieses Verzeichnis enthält alle relevanten technischen Handbücher von SAMBA! Das heißt, nachdem Sie SAMBA installiert haben, enthält Ihr System bereits ein sehr umfangreiches und vollständiges SAMBA-Benutzerhandbuch! Es lohnt sich, glücklich zu sein! ^_^, also beeilen Sie sich und lesen Sie es selbst!

Bei den häufig verwendeten Skriptdateien handelt es sich bei der Unterteilung in Server- und Clientfunktionen hauptsächlich um die folgenden Daten:

  • /usr/sbin/{smbd,nmbd}: Serverfunktionen, darunter die beiden wichtigsten Dienstprogramme: Berechtigungsverwaltung (smbd) und NetBIOS-Namensabfrage (nmbd);
  • /usr/bin/{tdbdump,tdbtool}: Serverfunktion. In Samba 3.0 und späteren Versionen wurden die Parameter Benutzerkonto und Passwort so umgestellt, dass sie die Datenbank verwenden! Der von Samba verwendete Datenbankname ist TDB (Trivial DataBase). Da es sich um eine Datenbank handelt, müssen wir zur Verarbeitung natürlich auch die Steueranweisungen der Datenbank nutzen. Mit tdbdump können Sie den Inhalt der Datenbank anzeigen, während Sie mit tdbtool die Datenbank-Betriebsschnittstelle aufrufen und die Konto- und Kennwortparameter manuell ändern können. Sie müssen jedoch die TDB-Tools-Software installieren.
  • /usr/bin/smbstatus: Serverfunktion, die den aktuellen Samba-Verbindungsstatus auflisten kann, einschließlich der PID jeder Samba-Verbindung, gemeinsam genutzter Ressourcen, verwendeter Benutzerquelle usw., sodass Sie Samba einfach verwalten können.
  • /usr/bin/{smbpasswd,pdbedit}: Serverfunktion. Beim Verwalten von Samba-Benutzerkonten und -Passwörtern wurde früher der Befehl smbpasswd verwendet. Da jedoch später die TDB-Datenbank verwendet wurde, wird empfohlen, den neuen Befehl pdbedit zum Verwalten von Benutzerdaten zu verwenden.
  • /usr/bin/testparm: Serverfunktion. Dieser Befehl wird hauptsächlich verwendet, um zu überprüfen, ob die Syntax der Konfigurationsdatei smb.conf korrekt ist. Wenn Sie smb.conf bearbeitet haben, überprüfen Sie dies unbedingt einmal mit diesem Befehl, um Ärger durch Tippfehler zu vermeiden!
  • /sbin/mount.cifs: Client-Funktion. Unter Windows können wir ein „Netzwerklaufwerk“ einrichten, um eine Verbindung zu unserem Host herzustellen. Unter Linux verwenden wir Mount (mount.cifs), um die vom Remote-Host freigegebenen Dateien und Verzeichnisse auf unserem eigenen Linux-Host zu mounten!
  • /usr/bin/smbclient: Client-Funktion. Wenn Ihr Linux-Host die Funktion „Netzwerkumgebung“ verwenden möchte, um die von anderen Computern gemeinsam genutzten Verzeichnisse und Geräte anzuzeigen, können Sie smbclient verwenden, um sie anzuzeigen! Dieser Befehl kann auch auf Ihrem eigenen SAMBA-Host verwendet werden, um zu überprüfen, ob die Konfiguration erfolgreich ist!
  • /usr/bin/nmblookup: Client-Funktion, etwas ähnlich zu nslookup! Der Schlüssel besteht darin, den NetBIOS-Namen herauszufinden
  • /usr/bin/smbtree: Client-Funktion. Dieses Ding ähnelt ein wenig den in der Netzwerkumgebung des Windows-Systems angezeigten Ergebnissen. Es kann Daten wie „Computer in meiner Nähe“ anzeigen und die Verzeichnisverteilungsstrukturkarte der Arbeitsgruppe und des Computernamens finden!

Installieren Sie Samba

Bestätigen Sie zunächst mit dem folgenden Befehl, ob Samba auf Ihrem Linux installiert ist:

[root@localhost ~]# rpm -qa | grep samba 

Darunter werden Samba, Samba-Common und Samba-Client benötigt.

Wenn es nicht installiert ist, gibt es zwei Möglichkeiten, es zu installieren:

Die erste Methode: Yum-Installation

Yum ist ein Linux-Softwarepaket, das zum Suchen, Installieren, Aktualisieren und Entfernen von Programmen verwendet wird. Es läuft auf RPM-Paket-kompatiblen Linux-Distributionen wie: RedHat, Fedora, SUSE, CentOS, Mandriva.

yum install -y samba

Die zweite Methode: Installationspaketinstallation

Auf der CD befinden sich alle Installationspakete, diese müssen zunächst gemountet werden:

[root@localhost ~]# mount /dev/cdrom /mnt

Zu diesem Zeitpunkt tritt ein Problem auf:

mount: Blockgerät /dev/sr0 ist schreibgeschützt, Mounten nur lesbar

Die Eingabeaufforderung besagt, dass beim Mounten des CD-ROM-Laufwerks in der virtuellen Maschine ein schreibgeschützter Zugriff erfolgt. Der folgende Befehl kann diesen Fehler beheben:

mount -o remount,rw /dev/cdrom /mnt

An diesem Punkt werden wir feststellen, dass der ursprünglich leere Ordner /mnt jetzt viel mehr Dateien enthält.

Im Ordner /mnt/Server finden Sie das Samba-Installationspaket:

Nachdem Sie das Installationspaket gefunden haben, ist es Zeit, Samba zu installieren (Sie müssen nur das installieren, was Sie nicht haben). Verwenden Sie den Befehl:

U/min samba-3.0.25b-0.el5.4.i386.rpm
U/min samba-client-3.0.25b-0.el5.4.i386.rpm
U/min samba-commons-3.0.25b-0.el5.4.i386.rpm

Nachdem die Installation abgeschlossen ist, können Sie mit dem folgenden Befehl überprüfen, ob die Installation abgeschlossen ist:

[root@localhost ~]# rpm -qa | grep samba

Konfigurieren von Samba

Ändern der Konfigurationsdatei

Es gibt eigentlich nur eine Hauptkonfigurationsdatei für den Samba-Server, nämlich /etc/samba/samba.conf. Diese Konfigurationsdatei kann in zwei Teile unterteilt werden, ein Teil enthält globale Parameter und der andere Teil enthält Parameter für gemeinsam genutzte Ressourcen.

#1. Globale Parametereinstellungen:
[global]
        #Einstellungen in Bezug auf den Hostnamenworkgroup = zkhouse <==Arbeitsgruppennamenetbios-Name = zkserver <==Hostname, der nicht mit dem Hostnamen identisch ist. In derselben Gruppe muss der Netbios-Name eindeutig seinserverstring = Dies ist ein Test-Samba-Server <==Beschreibender Text, der Inhalt ist irrelevant#Einstellungen in Bezug auf die Anmeldedateilog file = /var/log/samba/log.%m <==Der Speicherdateiname der Protokolldatei, %m stellt den Internet-Hostnamen des Clients dar, d. h. den Hostnamen
        max. Protokollgröße = 50 <==Die maximale Größe der Protokolldatei beträgt 50 KB
        #Passwortbezogene Einstellungen Sicherheit = Freigabe <== bedeutet, dass kein Passwort erforderlich ist. Die konfigurierbaren Werte sind Freigabe, Benutzer und Server
        passdb backend = tdbsam
        #Druckerlademodus Drucker laden = nein <==Drucker nicht laden-----------------------------------------------------------
#2. Einstellungen für gemeinsam genutzte Ressourcen: Kommentieren Sie die alten aus und fügen Sie neue hinzu. #Kündigen Sie zuerst die Einträge [homes] und [printers] und fügen Sie den Eintrag [temp] wie folgt hinzu: [temp] <==Name der gemeinsam genutzten Ressource Kommentar = Temporärer Dateispeicherplatz <==Einfache Erklärung, der Inhalt ist irrelevant Pfad = /tmp <==Tatsächliches gemeinsam genutztes Verzeichnis beschreibbar = ja <==Auf beschreibbar eingestellt durchsuchbar = ja <==Der Ressourcenname kann von allen Benutzern durchsucht werden.
        Gast ok = ja <== ermöglicht Benutzern die Anmeldung nach Belieben

Mit anderen Worten: Fügen Sie einfach die oben genannten „#2 Einstellungen für gemeinsam genutzte Ressourcen“ am Ende der Konfigurationsdatei hinzu.

Einen Benutzer hinzufügen und ein Passwort festlegen

Richten Sie ein Konto ein, um sich beim Samba-Server anzumelden, und legen Sie ein Kennwort fest. Spezifische Befehle:

[root@localhost ~]# useradd sambauser
[root@localhost ~]# smbpasswd -a sambauser
Neues SMB-Passwort:
Geben Sie das neue SMB-Passwort erneut ein:

Starten Sie den Samba-Server neu

[root@localhost ~]# /etc/init.d/smb neu starten

Wenn dieser Befehl nicht funktioniert, wurde Samba nicht richtig installiert.

Bei Samba anmelden

Wenn sowohl Windows- als auch Linux-Netzwerke verbunden sind, melden Sie sich beim Samba-Server in Windows an. Verwenden Sie den Befehl, um die IP-Adresse von Samba anzuzeigen:

[root@localhost ~]# ifconfig 

Geben Sie in Windows \\223.3.119.170 ein (die IP-Adresse, die Samba entspricht):

Zu diesem Zeitpunkt wird die Anmeldeoberfläche angezeigt. Geben Sie einfach das zuvor festgelegte Anmeldekonto und Passwort ein.

Zusammenfassung der Fragen und Ergänzungen

Bisher ließ sich Samba problemlos Schritt für Schritt installieren und konfigurieren. Doch in vielen Fällen passiert bei laufendem Windows nach der Eingabe der \\IP-Adresse nichts. Dies ist der problematischste Teil, da wir keine Ahnung haben, was die Ursache war. Hier sind einige mögliche Problembereiche:

Netzwerkauswahl

Bei der Konfiguration des Samba-Servers wird das Netzwerk als Bridge-Verbindung ausgewählt.

Denn: Es muss sichergestellt werden, dass sich die IP unter Linux und die IP unter Windows im selben Netzwerksegment befinden und sich gegenseitig anpingen können.

Wie verifiziere ich?

Geben Sie in der Windows-Eingabeaufforderung den Befehl ipconfig ein:

Geben Sie gleichzeitig in Linux den Befehl ifconfig ein (die beiden Befehle sind unterschiedlich, bitte beachten):

Es ist ersichtlich, dass die ersten drei Zeichen der beiden IP-Adressen 223.3.119.239 und 223.3.119.170 gleich sind und sich lediglich das letzte unterscheidet, wodurch sichergestellt wird, dass sie sich im selben Netzwerksegment befinden. Wenn die ersten 3 Ziffern unterschiedlich sind, können Sie den Befehl in Linux verwenden:

[root@localhost ~]# ifconfig eth0 223.3.119.130

Stellen Sie einfach sicher, dass nur der letzte anders ist.

Überprüfen Sie als Nächstes, ob der Ping zwischen Windows und Linux erfolgreich ist. Geben Sie die Ping-Linux-IP-Adresse in die Windows-Befehlszeile ein :

Wenn das Ergebnis kein Timeout ist, bedeutet dies, dass die beiden sich erfolgreich gegenseitig anpingen können.

Firewall-Probleme

Wenn die Firewall nicht deaktiviert ist, kann die Kommunikation zwischen Windows und Samba blockiert sein.

Schalten Sie die Firewall unter Windows aus: Systemsteuerung -> System und Sicherheit -> Windows-Firewall -> Windows-Firewall ein- oder ausschalten;

Deaktivieren Sie die Firewall unter Linux:

[root@localhost ~]# setenforce 0
[root@localhost ~]# Dienst iptables stoppen 

Denken Sie daran, den Samba-Server neu zu starten.

Berechtigungsprobleme

Möglicherweise liegt ein Problem mit unzureichenden Berechtigungen vor. Ändern Sie die Berechtigungen der gewünschten Datei.

[root@localhost ~]# chmod 777 /home

Kein Zugriff

Wenn Sie Windows für den Zugriff auf Samba verwenden, wird der folgende Dialogfeldfehler angezeigt:

Kein Zugriff möglich. Möglicherweise verfügen Sie nicht über die Berechtigung, die Netzwerkressource zu verwenden. Bitte wenden Sie sich an den Administrator dieses Servers, um herauszufinden, ob Sie über Zugriffsberechtigungen verfügen.

Einem einzelnen Benutzer sind mehrere Verbindungen zu einem Server oder einer freigegebenen Ressource unter Verwendung von mehr als einem Benutzernamen nicht gestattet. Trennen Sie alle Verbindungen zu diesem Server oder der freigegebenen Ressource und versuchen Sie es erneut ... oder starten Sie Windows einfach neu.

Wie trenne ich die Verbindung (d. h. wie beende ich den Samba-Server)?

Geben Sie in der Windows-Befehlszeile Folgendes ein:

net use * /löschen /y

Automatische Verbindung

So führen Sie den SMBA-Server bei jedem Start von Linux automatisch aus:

Geben Sie im Terminal „Setup“ -> „Systemdienst“ -> „SMB suchen“ ein, drücken Sie die Leertaste und wählen Sie es dann aus -> „Beenden“, um den Vorgang abzuschließen (beachten Sie, dass zum Wechseln die Tabulatortaste verwendet wird).

Wenn Sie weitere Fragen haben, können Sie auch auf den Link verweisen: [Linux] Installation und Konfiguration des Samba-Servers, 159 Auf Samba kann nicht zugegriffen werden. Möglicherweise verfügen Sie nicht über die Berechtigung, den Netzwerkressourcenbefehl „net use“ zu verwenden.

Dies ist das Ende dieses Artikels über die äußerst detaillierte Installation und Konfiguration des Linux Samba-Servers (mit Problemlösung). Weitere relevante Inhalte zur Installation und Konfiguration des Linux Samba-Servers finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So verwenden Sie Samba zum Erstellen eines gemeinsamen Dateidienstes auf einem Linux-Server
  • So installieren und konfigurieren Sie einen Samba-Server unter Linux
  • Tutorial zur Samba-Konfiguration für die Dateifreigabe im Linux-System

<<:  Website-Erstellungs-Tutorial für Anfänger: Lernen Sie, in zehn Tagen eine Website zu erstellen

>>:  Einführung in die Installationsmethode in Vue

Artikel empfehlen

Import-, Export-, Sicherungs- und Migrationsvorgänge für Docker-Images

Export: docker save -o centos.tar centos:latest #...

MySQL Series II-Konfiguration für mehrere Instanzen

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

So implementieren Sie https mit Nginx und OpenSSL

Wenn die Serverdaten nicht verschlüsselt und mit ...

Detaillierter Prozess zur Konfiguration von NIS in Centos7

Inhaltsverzeichnis Prinzip Vorbereitung der Netzw...

So entwickeln Sie Java 8 Spring Boot-Anwendungen in Docker

In diesem Artikel zeige ich Ihnen, wie Sie mit Ja...

Grundlegende Hinweise zu HTML und CSS (unbedingt für das Frontend lesen)

Als ich zum ersten Mal mit HTML in Berührung kam,...

Analyse der Fallstricke beim Rundungsvorgang der ROUND-Funktion in MySQL

Dieser Artikel veranschaulicht anhand von Beispie...

【HTML-Element】Detaillierte Erklärung des Tag-Textes

1. Verwenden Sie grundlegende Textelemente, um In...

Detaillierte Erklärung der verschiedenen Verwendungen von proxy_pass in nginx

Inhaltsverzeichnis Proxy-Weiterleitungsregeln Der...

Zusammenfassung einiger gängiger Konfigurationen und Techniken von Nginx

Vorwort Dieser Artikel listet mehrere gängige, pr...

MySQL-Joinpufferprinzip

Inhaltsverzeichnis 1. MySQL-Joinpuffer 2. JoinBuf...

So implementieren Sie ein responsives Layout mit CSS

Implementieren eines responsiven Layouts mit CSS ...