Einrichten einer Samba-Freigabe für eine kleine Organisation unter Ubuntu 16.04

_Der Autor hat das Programm Tech Education Fund ausgewählt, um eine Spende im Rahmen des Programms Write for DOnations zu erhalten. _

Einführung

Samba ist eine Open-Source-Implementierung von https://msdn.microsoft.com/en-us/library/windows/desktop/aa365233(v=vs.85). aspx [SMB / CIFS-Netzwerkprotokoll], das in Windows-Umgebungen für gemeinsam genutzte Dienste wie Datei- und Druckerzugriff und Active Directory verwendet wird. Samba kann auch verwendet werden, um plattformübergreifende Dateifreigaben in einer Konfiguration namens standalone server zu erstellen.

In diesem Handbuch installieren und konfigurieren Sie einen eigenständigen Samba-Server, um vernetzte Dateispeicher oder shares für eine hypothetische kleine Organisation mit dem Namen * Example.com * bereitzustellen. Diese Organisation hat mehrere Anforderungen für ihre Dateifreigaben: 1. Jeder Mitarbeiter benötigt eine persönliche, private Dateifreigabe. 2. Alle Mitarbeiter sollten Lese- und Schreibzugriff auf eine gemeinsame Dateifreigabe haben. 3. Ein Administrator sollte Lese- und Schreibzugriff auf alle persönlichen Freigaben und den Besitz der gemeinsamen Freigabe haben.

Ihr Samba-Server wird all diese Anforderungen erfüllen. Sie erfahren auch, wie Sie unter Windows, Linux und macOS auf die Freigaben zugreifen können.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, benötigen Sie Folgendes:

  • Ein Ubuntu 16.04-Server mit einem Benutzer, der kein Root-Sudo ist. Weitere Informationen finden Sie im Handbuch Ubuntu 16.04 initial server setup. Samba hat bescheidene RAM- und CPU-Anforderungen und funktioniert gut auf einem 1-GB-Server. Es ist wahrscheinlicher, dass Ihnen der Speicherplatz ausgeht. Daher sollte dies Ihr Hauptaugenmerk bei der Auswahl der Servergröße sein.

  • Eingehende TCP-Verbindungen an Port + 445 + zulässig. Wenn Sie die Firewall UFW verwenden, lesen Sie bitte https://www.digitalocean.com/community/tutorials/how-to-set-up-a-. firewall-with-ufw-on-ubuntu-16-04 [Einrichten einer Firewall mit UFW auf einem Ubuntu und Debian Cloud Server] als Anleitung. Wenn Sie eine andere oder externe Firewall verwenden, lesen Sie bitte die entsprechende Dokumentation.

Schritt 1 - Samba installieren

Beginnen wir mit der Installation von Samba mithilfe von Ubuntus Paketverwaltungssystem.

Bevor Sie neue Pakete installieren, aktualisieren Sie den lokalen Paketindex, um die aktuellsten Versionen aus den Ubuntu-Repositorys einzuschließen:

sudo apt-get update

Installieren Sie als nächstes Samba:

sudo apt-get install samba

Dieser Befehl installiert und startet sowohl den Samba-Server "+ smbd " als auch den Samba-NetBIOS-Server " nmbd ". ` nmbd ` wird für dieses Tutorial nicht benötigt, daher können Sie es aus Sicherheitsgründen mit ` systemctl +` anhalten und deaktivieren:

sudo systemctl stop nmbd.service
sudo systemctl disable nmbd.service

Der Befehl + sudo systemctl disable nmbd.service + erzeugt beim Ausführen die folgende Ausgabe:

Outputnmbd.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install disable nmbd
insserv: warning: current start runlevel(s) (empty) of script `nmbd' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `nmbd' overrides LSB defaults (0 1 6).

Diese Ausgabe teilt mit, dass "+ nmbd " keine systemeigene " systemd +" - Verwaltungskonfiguration hat und daher vom älteren SysV init-System deaktiviert wird.

Um Sicherheitsprobleme zu vermeiden, die durch die Ausführung eines nicht konfigurierten, netzwerkfähigen Dienstes entstehen können, stoppen wir den Samba-Server, bis die Konfigurationsdetails vorliegen:

sudo systemctl stop smbd.service

Samba ist jetzt installiert und kann konfiguriert werden.

Schritt 2 - Festlegen der globalen Optionen von Samba

Definieren wir, wie sich der Samba-Server verhält, indem wir seine Konfigurationsdatei unter "+ /etc/samba/smb.conf " ändern. Diese Datei besteht aus zwei Teilen: einem Abschnitt " [global] " und einem Abschnitt " [Shares] ". Der Abschnitt " [global] " konfiguriert das Verhalten des Samba-Servers und der Abschnitt " [Shares] " konfiguriert die Dateifreigaben. Beginnen wir mit dem Setzen von Direktiven im Abschnitt " [global] +".

Anstatt "+ / etc / samba / smb.conf " direkt zu bearbeiten, benennen Sie es in " smb.conf.original " um und erstellen Sie eine neue Datei mit dem Namen " smb.conf +":

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig

Überprüfen Sie vor der Bearbeitung von + / etc / samba / smb.conf + die verfügbaren Schnittstellen, um Samba mitzuteilen, welche erkannt werden sollen. Geben Sie Folgendes ein:

ip link
Output1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
   link/ether 02:21:2c:03:ef:e2 brd ff:ff:ff:ff:ff:ff

Diese Ausgabe zeigt an, dass "+ lo " die Loopback-Schnittstelle und " eth0 " die externe Netzwerkschnittstelle ist, obwohl sich Ihre externe Schnittstelle möglicherweise unterscheidet. Beachten Sie beides: Sie fügen sie mit der Direktive " interfaces " in den Abschnitt " [global] " der Datei " smb.conf +" ein.

Beginnen wir mit der Bearbeitung dieser Datei mit "+ nano +" oder Ihrem bevorzugten Editor:

sudo nano /etc/samba/smb.conf

Der Abschnitt "+ [global] +" dieser Datei definiert den Namen, die Rolle und andere Details des Servers, einschließlich der Netzwerkschnittstellen:

/etc/samba/smb.conf

[global]
       server string =
       server role = standalone server
       interfaces = lo
       bind interfaces only = yes
       disable netbios = yes
       smb ports = 445
       log file = /var/log/samba/smb.log
       max log size = 10000

Diese Richtlinien legen Folgendes fest:

  • + server string + - Dies sind die identifizierenden Informationen, die den Benutzern während der Verbindungen zur Verfügung gestellt werden. Sie können "" oder einen anderen Namen verwenden, der Ihren Server identifiziert. In diesem Tutorial wird die Zeichenfolge "" angezeigt, die die Samba-Freigabe für die Organisation "Example.com" kennzeichnet.

  • + Serverrolle + - Definiert, welcher Samba-Servertyp erstellt wird. In diesem Fall handelt es sich um einen "+ Standalone-Server +", d.h. eine Dateifreigabe. Andere Servertypen umfassen Domänenmitgliedsserver und Domänencontroller.

  • + interfaces + - Dies sind die Netzwerkschnittstellen, an die Samba bindet. + lo + ist das Loopback-Interface (127.0.0.1) und wird benötigt. Sie müssen auch die externe Netzwerkschnittstelle einbeziehen, die Sie zuvor ausgegeben haben. Dies ist normalerweise "+ eth0 +".

  • + bind interfaces only + - Dies stellt sicher, dass Samba nur an die in der Zeile + interfaces + aufgelisteten Schnittstellen bindet. Aus Sicherheitsgründen ignoriert Samba Pakete, die nicht den angegebenen + interfaces + entsprechen.

  • + deaktiviere NetBIOS + - Deaktiviert alle NetBIOS-Funktionen, die auf einem Standalone-Server nicht benötigt werden. Dies vereinfacht den Prozess der Servernamenauflösung und den Transport von SMB-Datenverkehr.

  • + smb ports + - Legt den Port fest, den Samba abhört. Port + 445 + ist der Standardport für Samba.

  • + log file + - Legt den Namen und den Speicherort der Samba-Protokolldatei fest.

  • + max log size + - Hiermit wird eine Größenbeschränkung für die Protokolldatei festgelegt. Die angegebene Anzahl ist in Byte und entspricht 10 MB. Einige Dinge, die Sie beim Festlegen dieser Größenbeschränkung beachten sollten: Wenn diese erreicht ist, generiert Samba eine neue Protokolldatei und verschiebt den alten Inhalt in ein Duplikat mit der Erweiterung "+ .old ". Wenn das Limit erneut überschritten wird, wird die vorhandene " .old +" - Datei zerstört. Dies verhindert, dass der Festplatten- / Partitionsspeicherplatz mit dem Inhalt einer einzelnen Protokolldatei überlastet wird. Sie sollten daher eine Dateigröße definieren, die für Ihre Systemressourcen sinnvoll ist.

Wenn Sie beim Einrichten des Servers eine detailliertere Protokollierung wünschen, hängen Sie die folgende Zeile an den Abschnitt "+ [global] +" an:

/etc/samba/smb.conf

       log level = 3 passdb:5 auth:5

Dadurch wird die Protokollierungsstufe auf 3 (Info) festgelegt, wodurch die Granularität der Protokollierungsinformationen gegenüber der Standardeinstellung 1 erhöht wird. Die höhere Einstellung von 5 für die Debug-Klassen "+ passdb " und " auth +" bietet weitere Informationen zur Benutzerauthentifizierung.

Speichern und schließen Sie die Datei, wenn Sie mit dem Erstellen dieses Abschnitts fertig sind.

Wann immer Sie "+ smb.conf " bearbeiten, sollten Sie das Samba-Dienstprogramm " testparm +" ausführen, um sicherzustellen, dass keine Syntaxfehler vorliegen:

testparm

Das Ausführen des Befehls "+ testparm " in der Datei " smb.conf +" erzeugt die folgende Ausgabe:

OutputLoad smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Durch Drücken von + ENTER + wird die folgende Ausgabe erzeugt:

Output# Global parameters
[global]
       server string =
       interfaces = lo
       bind interfaces only = Yes
       server role = standalone server
       log file = /var/log/samba/smb.log
       max log size = 10000
       smb ports = 445
       disable netbios = Yes
       idmap config * : backend = tdb

Wenn + testparm + + Loaded services file OK. + Meldet, dann gibt es keine Syntaxfehler, die den Start des Samba-Servers verhindern würden.

Das Konfigurieren des Abschnitts "+ [global] +" ist alles, was zum Starten des Samba-Servers erforderlich ist. Ohne gemeinsame Konfigurationen ist die Funktionalität jedoch eingeschränkt. Eine Freigabe besteht aus zwei Teilen, einem Benutzer und einem Verzeichnis. Beide Teile müssen erstellt und konfiguriert werden, um Anmeldungen und Tests zu ermöglichen. Im nächsten Abschnitt wird erläutert, wie Sie Benutzer erstellen, die auf die Freigaben zugreifen können.

Schritt 3 - Benutzer anlegen

In diesem Schritt erstellen wir Benutzer, die auf die Freigaben zugreifen können. Sie benötigen Zugriff als Samba-Benutzer und Systembenutzer, um sich beim Anmelden, Lesen und Schreiben im Dateisystem beim Samba-Server zu authentifizieren.

In der hypothetischen Firma * Example.com * gibt es vier Mitarbeiter, die dem Samba-Server hinzugefügt und als Benutzer auf dem Linux-System erstellt werden müssen: * david *, * mike *, * jane * und * lucy *. Zusätzlich zu diesen vier wird es einen * admin * Benutzer geben, der auf die persönlichen Freigaben zugreifen und diese verwalten kann. Dieser Benutzer besitzt auch die gemeinsamen Freigaben, auf die jeder zugreifen kann.

Der erste Schritt zum Hinzufügen von Systembenutzern ist das Erstellen von Basisverzeichnissen für jeden von ihnen. Anstatt die Standard-Home-Verzeichnisse unter "+ / home / user " zu verwenden, befinden sich die Samba-Verzeichnisse und -Daten unter " / samba / +". Wenn Sie Samba-Daten an einem einzigen Ort und getrennt von anderen Benutzerdaten aufbewahren, werden zukünftige Verwaltungsaufgaben wie z. B. Sicherungen vereinfacht.

Der nächste Abschnitt erklärt den Vorgang zum Hinzufügen des ersten Benutzers * david *, aber Sie müssen diesen Vorgang für * mike *, * jane * und * lucy * wiederholen.

Der erste Schritt besteht darin, das Verzeichnis zu erstellen, in dem die Samba-Daten im Stammverzeichnis des Dateisystems gespeichert werden. Dieses Verzeichnis heißt "+ / samba / " und sein Gruppeneigentum wird auf " sambashare +" gesetzt, eine Gruppe, die bei der Installation von Samba erstellt wurde.

Führen Sie die folgenden Befehle aus, um das Verzeichnis "+ / samba / " zu erstellen und die Gruppeneigentümerschaft auf " sambashare +" zu setzen:

sudo mkdir /samba/
sudo chown :sambashare /samba/

Als nächstes erstellen Sie das Home-Verzeichnis von * david * im Verzeichnis "+ / samba / +":

sudo mkdir /samba/david

Fügen Sie nun * david * als Systembenutzer mit dem folgenden Befehl hinzu:

sudo adduser --home /samba/david --no-create-home --shell /usr/sbin/nologin --ingroup sambashare david

Die Optionen bewirken Folgendes:

  • + - home + - Legt den Speicherort des Benutzerverzeichnisses fest.

  • + - no-create-home + - Dies verhindert, dass der Befehl + adduser + das Home-Verzeichnis von * david * erstellt. Wenn das System dieses Verzeichnis erstellen würde, würde es mit Konfigurationsdateien wie "+ .bash_history +" gefüllt, die für das aktuelle Setup nicht erforderlich sind.

  • + - shell + - Legt fest, welche Shell * david * zugewiesen wird, wenn er sich per SSH anmeldet. Für den Zugriff auf eine Samba-Freigabe ist kein SSH-Login erforderlich. Wenn Sie dies auf "+ / usr / sbin / nologin +" setzen, werden SSH-Anmeldungen deaktiviert.

  • + - in-group sambashare + - Fügt den Benutzer der Gruppe + sambashare + hinzu und gewährt ihm Lese- und Schreibzugriff auf seine eigenen Freigaben und die gemeinsame Freigabe.

Sie werden aufgefordert, ein Kennwort einzugeben, wenn Sie diesen Befehl ausführen. Wählen Sie ein eindeutiges, nicht wörterbuchbasiertes Kennwort mit mindestens 10 Zeichen.

Nachdem der Systembenutzer * david * existiert, können Sie den Besitz und die Berechtigungen für sein Samba-Ausgangsverzeichnis festlegen:

sudo chown david:sambashare /samba/david/
sudo chmod 2770 /samba/david/

Das Setzen der Berechtigungen des Verzeichnisses auf "+ 2770 " bedeutet, dass neue Dateien oder Verzeichnisse, die unter " / samba / david / +" erstellt wurden, den Gruppeneigentum des übergeordneten Verzeichnisses erben und nicht die primäre Gruppe des Benutzers, der die Datei erstellt hat oder Verzeichnis. Dies bedeutet beispielsweise, dass * david * in der Lage wäre, zu lesen und zu schreiben, wenn der Benutzer * admin * ein neues Verzeichnis in der Freigabe von * david * erstellen würde.

Fügen Sie als nächstes * david * zum Samba-Server hinzu. Samba führt eine eigene Datenbank mit Benutzern und Passwörtern, mit denen es Anmeldungen authentifiziert. Um sich anzumelden, müssen alle Benutzer zum Samba-Server hinzugefügt und aktiviert werden. Führen Sie die folgenden "+ smbpasswd +" - Befehle aus, um diese beiden Aufgaben auszuführen:

sudo smbpasswd -a david
sudo smbpasswd -e david

Die hier verwendeten Optionen bewirken Folgendes:

  • + -a + - Fügt den Benutzer dem Samba-Server hinzu, ohne ihn zu aktivieren.

  • + -e + - Dies aktiviert einen zuvor hinzugefügten Benutzer.

Das hier eingegebene Kennwort wird für den Zugriff auf die Samba-Freigabe verwendet und kann vom Systemkennwort abweichen.

Der Benutzer * david * existiert nun als Systembenutzer ohne die Möglichkeit, SSH auf dem Server auszuführen. Er hat ein Home-Verzeichnis unter "+ / samba / david +" und ist als Samba-Benutzer registriert und aktiviert.

Wiederholen Sie diesen Vorgang für jeden Samba-Benutzer (* mike *, * jane * und * lucy *).

Führen Sie zum Erstellen des Benutzers * admin * die folgenden Befehle aus, und ändern Sie das Ausgangsverzeichnis in "+ / samba / everyone / +":

sudo mkdir /samba/
sudo adduser --home /samba/ --no-create-home --shell /usr/sbin/nologin --ingroup sambashare admin
sudo chown admin:sambashare /samba//
sudo chmod 2770 /samba//
sudo smbpasswd -a admin
sudo smbpasswd -e admin

Erstellen Sie nicht nur den * admin * -Benutzer, sondern auch eine Gruppe mit dem Namen * admins *, um die Verwaltung des Servers zu vereinfachen. Mit Lese- und Schreibberechtigungen für jede Freigabe kann diese Gruppe das Hinzufügen und Löschen von Benutzern vereinfachen. Wenn zum Beispiel einzelne Benutzer als * admin * Benutzer fungieren und dann die Organisation verlassen, müssen sie einzeln aus jeder Freigabe entfernt werden. Neue Administratoren müssen außerdem jeder Freigabe manuell hinzugefügt werden. Wenn Sie eine * admins * -Gruppe erstellen und dieser Gruppe Lese- und Schreibzugriff auf die Freigaben gewähren, ist zum Hinzufügen und Entfernen von Benutzern nur ein einziger Befehl erforderlich.

Führen Sie die folgenden Befehle aus, um eine neue Gruppe mit dem Namen * admins * zu erstellen und den Benutzer * admin * zu dieser Gruppe hinzuzufügen:

sudo groupadd admins
sudo usermod -G admins

Zusätzliche Benutzer können der Gruppe * admins * hinzugefügt werden, indem der zweite Befehl + sudo usermod -G admins + ausgeführt und ein anderer Benutzer anstelle von ++ eingesetzt wird.

Die Systemkonfigurationen sind nun abgeschlossen, und die Benutzer der Organisation * Example.com * sind als System- und Samba-Benutzer festgelegt. Fahren wir mit der Konfiguration des Samba-Servers fort, damit diese Benutzer auf ihre Freigabe-Verzeichnisse zugreifen können.

Schritt 4 - Konfigurieren der Samba-Freigaben

Jede Freigabe hat einen eigenen Abschnitt in der Samba-Hauptkonfigurationsdatei, + / etc / samba / smb.conf +, der den globalen Parametern folgt. In diesen Abschnitten wird festgelegt, wie die einzelnen Freigaben funktionieren.

Verwenden Sie den + nano + Texteditor erneut, um diese Datei zu öffnen und zu bearbeiten:

sudo nano /etc/samba/smb.conf

Der folgende Konfigurationsblock definiert die persönliche Freigabe jedes Benutzers:

/etc/samba/smb.conf

...
[]
       path =
       browseable =
       read only =
       force create mode =
       force directory mode =
       valid users =

Diese Optionen umfassen:

  • + share_name + - Dies ist der Name der Freigabe, die Sie beim Anmelden verwenden.

  • + path + - Dies ist der absolute Pfad zur Freigabe im Dateisystem.

  • + browsable + - Legt fest, ob andere Benutzer die Freigabe sehen können. Wenn Sie diese Option aktivieren, können andere Benutzer des Samba-Servers nur die Existenz der Freigabe sehen. Es werden keine Lese- oder Schreibrechte erteilt.

  • + read only + - Legt fest, ob die + gültigen Benutzer + auf die Freigabe schreiben können.

  • + Erzwinge Erstellungsmodus + - Erzwingt die Berechtigungen für alle Dateien, die in die Freigabe geschrieben werden.

  • + Verzeichnismodus erzwingen + - Erzwingt die Berechtigungen für alle in der Freigabe erstellten Verzeichnisse.

  • + gültige Benutzer + - Dies ist eine Liste der Benutzer, die Zugriff auf die Freigabe haben. Diese Einstellung kann Benutzernamen oder Systemgruppen wie * Admins * annehmen. Gruppen müssen mit einem "+ @ " vor z.B. ` @ admins +`.

Fügen Sie den folgenden Freigabekonfigurationsblock für * david * hinzu, indem Sie sein Ausgangsverzeichnis, die Berechtigungen für die Gruppeneigentümer dieses Verzeichnisses und die Benutzer definieren, die Zugriff auf seine Freigabe haben sollen:

/etc/samba/smb.conf

[david]
       path = /samba/david
       browseable = no
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = david @admins

Beachten Sie, dass die Verzeichnisberechtigungen den Gruppenbesitz auf den des übergeordneten Verzeichnisses festlegen.

Erstellen Sie einen Freigabeblock für * mike *, * jane * und * lucy *. Ändern Sie nur die Freigaben "+ [Name] ", " Pfad" und "+ gültige Benutzer", um die Namen der einzelnen Benutzer wiederzugeben.

Die Freigabe "+ [jeder] " unterscheidet sich von den anderen in den Optionen " [Name] ", " Pfad ", " gültige Benutzer " und " durchsuchbar +" und sieht folgendermaßen aus:

/etc/samba/smb.conf

...
[everyone]
       path = /samba/everyone
       browseable = yes
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = @sambashare @admins

Wenn Sie der Gruppe "+ sambashare +" Lese- und Schreibzugriff auf die Freigabe gewähren, können alle Benutzer auf die Freigabe zugreifen, da sie bei ihrer Erstellung zu dieser Gruppe hinzugefügt wurden.

Die vollständige Datei "+ smb.conf +" sieht folgendermaßen aus:

/etc/samba/smb.conf

[global]
       server string =
       server role = standalone server
       interfaces = lo
       bind interfaces only = yes
       disable netbios = yes
       smb ports = 445
       log file = /var/log/samba/smb.log
       max log size = 10000

[david]
       path = /samba/david
       browseable = no
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = david @admins

[mike]
       path = /samba/mike
       browseable = no
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = mike @admins

[jane]
       path = /samba/jane
       browseable = no
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = jane @admins

[lucy]
       path = /samba/lucy
       browseable = no
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = lucy @admins

[everyone]
       path = /samba/everyone
       browseable = yes
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = @sambashare @admins

Speichern und schließen Sie die Datei, wenn Sie mit der Bearbeitung fertig sind.

Testen Sie die Konfiguration erneut:

testparm

Dies erzeugt eine Ausgabe, die wie folgt aussieht:

OutputLoad smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[david]"
Processing section "[jane]"
Processing section "[mike]"
Processing section "[lucy]"
Processing section "[everyone]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Nachdem die Konfigurationsprüfung abgeschlossen ist, starten wir den Samba-Server mit "+ systemctl +":

sudo systemctl start smbd.service

Der Samba-Server läuft jetzt und ist bereit, Anmeldungen anzunehmen. Der nächste Schritt besteht darin, sich beim Samba-Server anzumelden, um zu testen, ob er wie erwartet funktioniert. Der folgende Abschnitt behandelt die Anmeldung am Samba-Server unter Windows, Linux und macOS.

Schritt 5 - Anmelden am Samba-Server

In diesem Abschnitt erfahren Sie, wie Sie auf die Samba-Freigaben zugreifen, die wir unter Linux, Windows und macOS erstellt haben.

Linux - Die Kommandozeile

Sie können ein Tool namens "+ smbclient +" verwenden, um über die Befehlszeile auf Samba zuzugreifen. Dieses Paket ist in den meisten Linux-Distributionen standardmäßig nicht enthalten, daher müssen Sie es mit Ihrem lokalen Paketmanager installieren.

Installieren Sie auf Debian- und Ubuntu-Servern + smbclient + mit dem folgenden Befehl:

sudo apt-get update
sudo apt-get install smbclient

Verwenden Sie auf Fedora-Systemen Folgendes:

sudo dnf update
sudo samba-client

Und auf CentOS:

sudo yum update
sudo yum install samba-client

+ smbclient + verwendet das folgende Format, um auf Samba-Freigaben zuzugreifen:

smbclient /// -U

Sie können entweder die IP Ihres Servers oder den in + / etc / samba / smb.conf + definierten Hostnamen verwenden, um auf die Freigabe zuzugreifen. In diesem Beispiel wird der Hostname "++" verwendet, um auf die Freigabe von "* david *" auf dem Samba-Server zuzugreifen, den Sie in den vorherigen Schritten erstellt haben:

smbclient /// -U

Wenn * david * Zugriff auf die gemeinsame Freigabe (+ everyone +) haben möchte, ändern Sie den Befehl in:

smbclient /// -U

Nachdem Sie den Befehl "+ smbclient +" ausgeführt haben, werden Sie zur Eingabe des Samba-Kennworts aufgefordert und an einer Befehlszeilenschnittstelle angemeldet, die an die FTP-Textschnittstelle erinnert:

smb: \>

Diese Schnittstelle eignet sich am besten zum Testen von Benutzernamen und Kennwörtern sowie für Lese- und Schreibzugriffe. Beispielsweise können Sie ein Verzeichnis erstellen und dessen Inhalt wie folgt auflisten:

mkdir test
ls

Sie sollten die folgende Ausgabe sehen:

Output  .                                   D        0  Fri Feb  2 14:49:01 2018
 ..                                  D        0  Wed Jan 24 12:11:33 2018
 test                                D        0  Fri Feb  2 14:49:01 2018

Entfernen Sie das Verzeichnis, indem Sie Folgendes eingeben:

rmdir test

Das Verwalten von Daten in einer Freigabe ist mit einem GUI-Tool oft einfacher. Der nächste Abschnitt befasst sich mit den integrierten GUI-Tools für KDE.

Linux - KDE mit Dolphin

Dolphin ist der Standard-Dateimanager in KDE und verfügt über integrierte Funktionen für den Zugriff auf Samba-Freigaben.

Führen Sie nach dem Öffnen von Dolphin die folgenden Schritte aus:

  1. Wählen Sie * Netzwerk * ​​aus der Liste * Orte *.

  2. Klicken Sie auf * Netzwerkordner hinzufügen *. image: https: //assets.digitalocean.com/articles/samba_16_04/samba_dolphin_one.png [Bild zeigt das in der Ortsliste hervorgehobene Netzwerk]

  3. Wählen Sie die Option * Microsoft Windows-Netzwerklaufwerk *.

  4. Weiter klicken*

  5. Geben Sie die Details für die Samba-Freigabe ein:

    • * Name * - Dies ist ein unvergesslicher Name, der in Dolphin als Lesezeichen für die Freigabe angezeigt wird.

    • * Server * - Dies ist der Hostname oder die IP-Adresse des Samba-Servers. In diesem Beispiel ist es "++".

    • * Ordner * - Dies ist der Name der Freigabe, die in + smb.conf + festgelegt wurde.

  6. Klicken Sie auf * Speichern & Verbinden *.

  7. Geben Sie den Benutzernamen und das Passwort für den Benutzer ein, mit dem Sie auf die Samba-Freigabe zugreifen möchten.

  8. OK klicken*.

Dolphin verbindet sich jetzt und öffnet die Samba-Freigabe, die so aussieht:

image: https: //assets.digitalocean.com/articles/samba_16_04/samba_dolphin_second.png [Bild zeigt Dolphin, der mit einer Samba-Freigabe verbunden ist]

Sie können die Samba-Freigabe jetzt so verwenden, als wäre sie ein lokales Verzeichnis, um Dateien und Verzeichnisse zu kopieren, zu löschen und umzubenennen. Die Freigabe wird auch als permanentes Lesezeichen in den * Netzwerk * ​​-Plätzen angezeigt.

MacOS - Die Befehlszeile

In MacOS sind Befehlszeilentools vorinstalliert, mit denen Sie auf eine Samba-Freigabe zugreifen können. Öffnen Sie das Terminal mit Launchpad, indem Sie auf das Symbol * Terminal * klicken.

Dadurch wird ein Befehlszeilenterminal in Ihrem Home-Verzeichnis geöffnet. Um die Samba-Freigabe bereitzustellen, können Sie ein neues Verzeichnis erstellen, das als Bereitstellungspunkt für die Freigabe fungiert. Ein Einhängepunkt ist der Ort, an dem zwei Dateisysteme verbunden sind: in diesem Fall Ihr lokales Dateisystem und das ferne Samba-Dateisystem.

Erstelle ein neues Verzeichnis mit dem Namen + samba +:

mkdir samba

Als nächstes mounten Sie die Samba-Freigabe im neuen + samba + Verzeichnis. Dieser Befehl hat die Form:

sudo mount_smbfs //@/ ./

Das Ersetzen der Details von * Example.com * durch den Benutzer * david * sieht folgendermaßen aus:

sudo mount_smbfs //@/ ./

Das + samba + Verzeichnis zeigt nun den Inhalt der * david * -Freigabe auf dem * Example.com * Samba-Server an. Dateien und Verzeichnisse können mit den normalen Werkzeugen wie "+ ls ", " rm " und " mkdir " bearbeitet werden. Das Verzeichnis ` samba ` gehört jedoch root, nachdem die Freigabe gemountet wurde. Sie müssen daher " sudo " verwenden, um auf das " samba +" - Verzeichnis und dessen Inhalt zuzugreifen.

Führen Sie zum Aufheben der Bereitstellung der Samba-Freigabe den Befehl "+ umount " in demselben Verzeichnis aus, in dem Sie den Befehl " mkdir +" ausgeführt haben:

umount samba

Der nächste Abschnitt befasst sich mit dem Zugriff auf eine Samba-Freigabe mithilfe der Desktop-GUI-Anwendung in macOS.

MacOS - Desktop

MacOS kann auch mit der Finder-Anwendung auf Samba-Freigaben zugreifen.

Führen Sie die folgenden Schritte aus:

  1. Öffnen Sie * Finder * und klicken Sie in der Menüleiste auf * Go *.

  2. Klicken Sie in der Liste der Optionen auf * Mit Server verbinden *.

  3. Verwenden Sie eine URL im Format "+ smb: // ", die Ihren Benutzernamen, Ihren Hostnamen oder Ihre Server-IP sowie den Namen Ihrer Freigabe enthält: " smb: // @ / ". In dem hier gezeigten Beispiel sehen Sie den Benutzernamen * david * und den Hostnamen `+`.

  4. Setze ein Lesezeichen für die Samba-Freigabe, indem du auf die Schaltfläche mit dem Symbol * + * klickst.

  5. Klicken Sie auf * Verbinden * image: https: //assets.digitalocean.com/articles/samba_16_04/samba_mac_one.png [Bild mit Verbindungsdetails zur Samba-Freigabe]

  6. Wählen Sie * Registrierter Benutzer *

  7. Geben Sie den Benutzernamen und das Passwort für den Benutzer der Samba-Freigabe ein.

  8. Entscheiden Sie, ob Sie möchten, dass macOS das Passwort speichert.

  9. Klicken Sie auf * Verbinden *.

Nachdem Sie sich erfolgreich mit der Samba-Freigabe verbunden haben, wird sie im Finder wie folgt angezeigt:

image: https: //assets.digitalocean.com/articles/samba_16_04/samba_mac_two.png [Bild zeigt den Inhalt der verbundenen Freigabe]

Im nächsten Abschnitt erfahren Sie, wie Sie unter Windows 10 auf Samba-Freigaben zugreifen können.

Windows 10 - Die Befehlszeile

Das Mounten einer Samba-Freigabe über die Windows-Befehlszeile erfordert nur einen einzigen Befehl:

net use  \\\

Ersetzen Sie die Variablen aus der Freigabe von Benutzer * david * und setzen Sie den Laufwerksbuchstaben auf "+ X: +":

net use X: \\\

Wenn Sie diesen Befehl eingeben, werden Sie aufgefordert, den Benutzernamen und das Passwort von * david * einzugeben. Nachdem Sie diese eingegeben haben, erhalten Sie eine Bestätigung, dass die Freigabe erfolgreich bereitgestellt wurde:

OutputEnter the user name for '':
Enter the password for :
The command completed successfully.

Sie können nun die Samba-Freigabe im Datei-Explorer durchsuchen und die Dateien und Verzeichnisse so bearbeiten, als wären sie lokal auf Ihrem Computer.

Im nächsten Abschnitt wird die Verwendung von Windows-GUI-Tools für den Zugriff auf eine Samba-Freigabe beschrieben.

Windows 10 - Desktop

Windows 10 bietet auch die native Möglichkeit, eine Verbindung zu einer Samba-Freigabe herzustellen. Mit den folgenden Schritten stellen Sie eine Verbindung zu Ihrer Samba-Freigabe her und behalten sie mithilfe des Windows-Datei-Explorers als Lesezeichen bei. Beginnen Sie diese Schritte, indem Sie den Datei-Explorer öffnen:

  1. Klicken Sie mit der rechten Maustaste auf * Diesen PC *.

  2. Klicken Sie auf der folgenden Seite auf * Netzwerkstandort hinzufügen * und dann auf * Weiter *. image: https://assets.digitalocean.com/articles/samba_16_04/samba_windows_one_again.png [Abbildung mit dem Kontextmenü für diesen PC]

  3. Klicken Sie auf * Wählen Sie einen benutzerdefinierten Netzwerkspeicherort *.

  4. Weiter klicken*

  5. Geben Sie die Windows-Adresse des Samba-Servers und den Freigabenamen ein. Windows verwendet die folgende Form einer Samba-URL: + \\\\ +. In diesem Beispiel lautet der Servername "+" und der Freigabename " david ": " \\\ +".

  6. Weiter klicken*.

  7. Geben Sie den Benutzernamen und das Passwort für den Benutzer ein.

  8. Entscheiden Sie, ob Windows sich das Kennwort merken soll.

  9. OK klicken*.

Der Datei-Explorer stellt nun eine Verbindung zur Samba-Freigabe her. Sobald die Verbindung erfolgreich hergestellt wurde, wird im Datei-Explorer unter * Dieser PC * ein neuer Speicherort erstellt:

image: https://assets.digitalocean.com/articles/samba_16_04/samba_windows_two.png [Bild zeigt die Samba-Freigabe unter diesem PC]

Sie können diesen Ordner nun verwenden, um Dateien und Ordner in der Samba-Freigabe so zu verwalten, als wäre es ein lokaler Ordner.

Fazit

In diesem Artikel haben Sie plattformübergreifende Online-Dateifreigaben mit dem Samba-Server erstellt. Sie haben auch unter Windows, Linux und macOS auf diese Freigaben zugegriffen.

Samba-Freigaben sind mittlerweile so verbreitet, dass viele Anwendungen auf die darin gespeicherten Daten zugreifen können. Diese Anwendungen können die Funktionalität und den Nutzen Ihrer Samba-Freigaben erweitern. Beispielsweise kann die mobile Version des Media Players VLC eine Verbindung zu Ihrer Samba-Freigabe herstellen und Musik und Videos von dieser streamen. Um darauf zuzugreifen, wählen Sie * open MRL * und verwenden Sie die Standard-Samba-URL: + smb: // @ / +. Sie können auch eine Samba-Freigabe als Ziel für Ihre Sicherungen mit dem plattformübergreifenden Sicherungsdienstprogramm BackupPC verwenden.

Samba fungiert nicht nur als einfache Dateifreigabe, sondern kann auch mit Windows Active Directory als Domänencontroller oder als Mitglied einer Domäne zusammenarbeiten. Das Samba-Wiki User Documentation enthält weitere Informationen dazu.