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
- Erstellen Sie eine AWS-EC2 Instanz und verbinden Sie sich mit Ihrem SSH-Client (Alternativ können Sie auch den Webzugriff verwenden)
- Wechseln Sie mit dem Befehl sudo su in den Administrator-Modus.
- 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. |
|
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.