Skip to main content

SAMBA Installieren unter Linux

Mit die nachfolgende Anleitung beschreibt die Installation und Grundkonfiguration von SAMBA, einem SMB Server der unter Linux Betrieben werden kann.

Sicherheitshinweis: SMB ist ein Protokoll, dass es nun schon sehr lange gibt und in den letzten Jahren starke Veränderungen erfahren hat. Ab der SMB Version 3 wurde Verschlüsselung eingeführt. Zuvor war es nicht möglich, den SMB Datenverkehr ausreichend sicher zu verschlüsseln. Eine Nutzung im LAN ist hierbei noch zu vertreten, aber in diesem Setup richten Sie eine SMB-Verbindung über das Internet ein. Dieses Setup darf nicht mit einer SMB Version kleiner als SMBv3.1.1 vorgenommen werden. SMB1 und SMB2 sind nicht sicher und für den Betrieb über das Internet nicht ausgelegt.

Die Version SMB3 ist ausreichend sicher und wird auch von Microsoft in der Azure Cloud in dieser Form bereitgestellt. In diesem Setup wird daher die SMB1 und SMB2 Unterstützung des SAMBA Server deaktiviert. Wird dies vergessen, gehen Sie ein grosses Risiko ein, was entsprechend in der Bewertung der Arbeit sich niederschlagen wird!

Installation

  1. Erstellen Sie eine AWS-EC2 Instanz und verbinden Sie sich mit Ihrem SSH-Client (Alternativ können Sie auch den Webzugriff verwenden)
  2. Wechseln Sie mit dem Befehl sudo su in den Administrator-Modus.
  3. Installieren Sie samba mit folgendem Befehl:
    yum install samba

Grundkonfiguration

Sie finden die Konfigurations-Datei unter folgendem Pfad: /etc/samba/smb.conf

Die Direktive der SAMBA-Konfiguration sind wie beim BIND Dienst in einzelne Blöcke unterteilt. Jedoch sind diese nicht mit geschweiften Klammern umschlossen. Ein Block beginnt mit der Beschreibung in eckigen Klammern z. B. der global-Block:

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
Block global

Dieser Block enthält die Konfiguration, welche global gültig ist. Er umfasst daher die grundlegenden Konfiguration des Dienstes.

In der Standard-Konfiguration im global-Block fehlen ein paar wichtige Punkte, welche gesetzt werden sollten:

protocol = SMB3

Setzt die Protokoll-Version auf SMB Version 3. Damit können sich zwar ältere Clients nicht mehr verbinden, aber die Verbindung kann dafür sauber verschlüsselt werden. 

SMB Version 3 wird ab Windows 8 unterstüzt.

lanman auth = no

Deaktiviert eine unsichere Authentifizierungsmethode

smb encrypt = required

Die Verschlüsselung des SMB Traffics wird erzwungen.

Block homes

Über den homes-Block können die Heim-Verzeichnisse der Benutzer aktiviert werden. Jeder Benutzer erhält dadurch automatisch ein Verzeichnis mit seinem Namen.

Freigabe einrichten

Eine Freigabe wird eingerichtet, indem ein weitere Block der Konfiguration hinzugefügt wird:

[FREIGABE_NAME]
        path= /var/shared/VERZEICHNIS_NAME
        writeable = yes
        guest ok = yes

Benutzer hinzufügen

Als erstes muss auf dem Betriebssystem ein Benutzer angelegt werden. Dies wird mit dem Befehl adduser erledigt:

adduser BENUTZERNAME

Nun muss dem neuen Benutzer noch ein Passwort zugewiesen werden

smbpasswd -a BENUTZERNAME

Gruppe hinzufügen

Als erstes muss auf dem Betriebssystem eine Gruppe angelegt werden. Dies wird mit dem Befehl groupadd erledigt:

groupadd BENUTZERNAME

Nun kann auf dem Betriebssystem ein Verzeichnis angelegt werden, in dem die Daten dieser Gruppe abgelegt werden:

mkdir -p /var/shares/GRUPPE_VERZEICHNIS

Anschliessend muss die Gruppe diesem Verzeichnis zugewiesen werden:

chgrp GRUPPE /var/shared/GRUPPE_VERZEICHNIS

Damit existiert auf dem Betriebssystem nun eine Gruppe mit einem eigenen Verzeichnis. Damit dieses Verzeichnis auch als Freigabe existiert, muss dieses nun noch als Freigabe eingerichtet werden. Dazu wird ein weitere Block eingefügt:

[GRUPPE]
        path= /var/shared/GRUPPEN_VERZEICHNIS
        writeable = yes
        valid users @GRUPPE

Nun kann die Datei gespeichert und der Dienst neu gestartet werden.