Samba
100%

Netzwerkfreigabe · Lektion 5

Samba

Lerne, eine grundlegende Samba-Dateifreigabe zu konfigurieren, zu validieren, aufzurufen und abzusichern.

Samba implementiert das Server Message Block Protocol auf Unix-artigen Systemen und ermöglicht Linux-, Windows-, macOS- und anderen Clients die gemeinsame Nutzung von Dateien und Druckern. Moderne Installationen verwenden aktuelle SMB-Dialekte. Der ältere Begriff CIFS ist weiterhin in Linux-Clientwerkzeugen sichtbar, sollte aber nicht als Grund verstanden werden, das veraltete SMB1 zu aktivieren.

Die Freigabe planen

Lege vor der Installation oder Änderung von Samba die autorisierten Clients, Identitäten, Lese-/Schreibanforderungen, Netzwerkzone, Dateneigentümer, Sicherungsrichtlinie und den erforderlichen SMB-Dialekt fest. Verwende ein eigenes Verzeichnis, statt unbeabsichtigt einen Home- oder Systembaum offenzulegen.

Der Zugriff wird sowohl durch die Samba-Richtlinie als auch die zugrunde liegenden Dateisystemberechtigungen gesteuert. Schreibzugriff in smb.conf kann einem Konto keinen Dateisystemzugriff gewähren, den es nicht besitzt.

Was muss einem Benutzer das Schreiben über eine Samba-Freigabe erlauben?

Eine grundlegende Freigabe definieren

Die Hauptkonfiguration ist gewöhnlich /etc/samba/smb.conf. Ein eingeschränktes Beispiel lautet:

[team]
    path = /srv/samba/team
    browseable = yes
    read
    valid users = @teamshare

Erstelle das Verzeichnis und wende geprüfte Eigentums- und Berechtigungseinstellungen für die Unix-Gruppe an:

$ sudo install -d -o root -g teamshare -m 2770 /srv/samba/team

Das Set-Group-ID-Bit hilft neuen Einträgen, die Verzeichnisgruppe zu übernehmen. Gemeinsamer Zugriff kann jedoch zusätzlich eine ACL oder eine sorgfältig gewählte Erstellungsmaske erfordern. Teste die tatsächlichen Datei- und Verzeichnisergebnisse, statt anzunehmen, dass die Vererbung ausreicht.

Was drückt valid users = @teamshare aus?

Identität konfigurieren

In einer eigenständigen Samba-Konfiguration benötigt ein Konto gewöhnlich eine entsprechende Unix-Identität und aktivierte Samba-Anmeldedaten:

$ sudo smbpasswd -a alice

Installationen mit Verzeichnisdomäne verwenden einen anderen Identitätsentwurf. Lege Passwörter weder im Shellverlauf noch in einer für unabhängige Benutzer lesbaren Konfiguration ab und nimm nicht an, dass ein Samba-Passwort automatisch mit dem Passwort des Unix-Kontos identisch ist.

Was bewirkt smbpasswd -a alice gewöhnlich auf einem eigenständigen Server?

Konfiguration validieren und anwenden

Prüfe die geparste Konfiguration, bevor du Dienste neu lädst:

$ testparm -s

Prüfe unerwartete Standardwerte und Fehler und lade den Samba-Dienst der Distribution anschließend über seinen Dienstmanager neu. Dienstnamen unterscheiden sich und umfassen häufig smbd.service oder smb.service. Ein Neuladen ist, sofern unterstützt, weniger unterbrechend als ein Neustart. Überprüfe dennoch Zustand, lauschende Sockets, Firewallbereich und Protokolle.

Teste von einem Client mit einem ausdrücklich angegebenen Benutzer:

$ smbclient //server.example.net/team -U alice

Warum solltest du testparm -s vor dem Anwenden einer Samba-Änderung ausführen?

Unter Linux einhängen

Linux-Clients verwenden gewöhnlich den Dateisystemtreiber cifs und Mount-Hilfsprogramme. Vermeide Passwörter in der Befehlszeile, weil Argumente über Verlauf oder Prozessuntersuchung offengelegt werden können. Verwende eine nur für root lesbare Anmeldedatendatei oder einen genehmigten Anmeldedatenmechanismus:

$ sudo mount -t cifs //server.example.net/team /mnt/team \
    -o credentials=/root/.smb-team,vers=3.1.1

Schütze die Anmeldedatendatei, bestätige den von beiden Seiten unterstützten Dialekt und lege Anforderungen an UID, GID, Berechtigungen und Verschlüsselung bewusst fest. Überprüfe nach dem Einhängen mit findmnt, führe autorisierte Lese-/Schreibtests aus und hänge nach Koordination aktiver Benutzer aus.

Warum solltest du password=... nicht direkt in einem mount-Befehl verwenden?

Lektion abgeschlossen

Sie haben Samba abgeschlossen

Du kannst eine Samba-Freigabe nun unter Berücksichtigung von Protokoll- und Dateisystemsicherheit konfigurieren.

  • Lege zuerst Clients, Identitäten, Netzwerkbereich und Datenrichtlinie fest.

  • Beschränke die Freigabe und gleiche die zugrunde liegenden Berechtigungen ab.

  • Verwalte Samba-Anmeldedaten über das richtige Identitätsmodell.

  • Validiere mit testparm und führe einen Ende-zu-Ende-Clienttest aus.

  • Schütze Clientanmeldedaten und überprüfe den eingehängten Zugriff.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Zurück zu Netzwerkfreigabe