Ubuntu MATE (Samba)

Aus TechnikWiki

HookTwSeo HookTwSeo HookTwSeo HookTwSeo

Beschreibung

Ubuntu MATE Samba01
Samba (Logo)

Das freie Programmpaket Samba ermöglicht es, Windows-Funktionen wie die Datei- und Druckdienste unter anderen Betriebssystemen zu nutzen. Hier eine kleine Hilfestellung für eine einfache und sichere Konfiguration, wo auch ein Kryptotrojaner nichts ausrichten kann.

Für dieses Beispiel wurde ein Samba-Server auf Ubuntu MATE installiert und konfiguriert (Raspberry Pi 3). Die Konfigurationsmöglichkeiten eines Samba-Servers sind sehr zahlreich.

Installation

Samba

Der Samba-Server und Samba-Client ist bereits auf Ubuntu MATE 16.04.1 LTS vorinstalliert.

Dienst

Der Samba-Dienst kann mit folgendem Befehl neu gestartet werden (start|stop|reload|restart|force-reload|status).

Copy to clipboard

Installation

Tritt ein Fehler auf, dass der Samba-Dienst nicht gefunden wird, einfach Samba löschen und neu installieren.

Copy to clipboard
Copy to clipboard

Firewall

Der Samba-Dienst ist bei der Firewall standardmäßig deaktiviert, somit muss dieser noch freigeschaltet werden. Ob die Firewall den Samba-Dienst blockiert, kann man einfach testen indem man die Firewall deaktiviert.
Eine Firewall sollte unbedingt laufen, wenn der Server nicht in der Demilitarized Zone (DMZ) steht.

Konfiguration

Samba

Die Konfiguration muss mit dem Superuser root stattfinden. Bevor begonnen wird Samba zu konfigurieren, am besten ein Backup von der originalen Konfigurationsdatei smb.conf mit folgendem Befehl erstellen. Die Datei befindet sich im Verzeichnis /etc/samba.

Copy to clipboard
Copy to clipboard

Nun die Datei smb.conf öffnen und mit einem textbasierten Editor (z. B. VIM oder NANO) bearbeiten.

Copy to clipboard

Hier ein Beispiel für eine einfache Konfiguration mit einer Authentifizierung und das Erstellen eines Benutzerkontos nur für Samba (siehe: Benutzer).

smb.conf

# 24.04.2017 Bacher Oliver (www.technikwiki.org) #

[global]
        server string = Samba Server
        workgroup = TechnikWiki
        security = user
        usershare allow guests = no
        hosts allow = 192.168.0.*
        log file = /var/log/samba/%m.log

[Fotoalbum]
        valid users = SambaUser
        browseable = yes
        writeable = no
        read only = yes
        path = /data/samba/Fotoalbum
        comment = Fotoalbum

[Daten]
        valid users = SambaUser
        force user = SambaUser
        force group = SambaGroup
        create mode = 0660
        directory mode = 0770
        browseable = yes
        writeable = yes
        read only = no
        path = /data/samba/Daten
        comment = Daten

Parameter (Global):

  • server string = Der Parameter für den Rechnernamen.
  • workgroup = Die Arbeitsgruppe dieses Netzwerks.
  • security = Der Parameter gibt an, wie eine Benutzeranmeldung geprüft wird (user, share, domain).
  • usershare allow guests = Dem Gast-Benutzer den Zugang gestatten (yes|no).
  • hosts allow = Die Hosts, die sich mit Samba verbinden können.
  • log file = Die Logdateien von Samba.

Parameter (Freigabe):

  • valid users = Die Benutzer, die auf diese Freigabe Zugriff erhalten.
  • force user = Der Benutzer mit dem die Verzeichnisse und Dateien angelegt werden.
  • force group = Die Gruppe mit dem die Verzeichnisse und Dateien angelegt werden.
  • create mode = Die Berechtigungen mit dem die Dateien angelegt werden.
  • directory mode = Die Berechtigungen mit dem die Verzeichnisse angelegt werden.
  • browseable = Die Freigabe ist direkt sichtbar.
  • writeable = Die Lese- und Schreibrechte der Netzwerkfreigabe (yes|no).
  • read only = Die Lese- und Schreibrechte der Netzwerkfreigabe (yes|no).
  • path = Der Pfad der Netzwerkfreigabe (/data/samba).
  • comment = Ein Kommentar der bei der Netzwerkfreigabe angezeigt wird (Fotoalbum 2017).

Benutzer

Mit folgendem Befehl wird der Samba-Benutzer angelegt, somit muss nun nur noch das Passwort für den jeweiligen Benutzer gesetzt werden. Ist beim Betriebssystem Windows derselbe Benutzer mit demselben Passwort angelegt, findet die Authentifizierung automatisch statt (security = user). Ein anderes Windows Benutzerkonto hat somit keinen Zugriff und es erscheint die Abfrage vom Benutzernamen und Passwort.

Parameter:

  • no-create-home = Es wird kein Homeverzeichnis angelegt.
  • disabled-login = Der Benutzer kann sich nicht am System anmelden.
  • shell /bin/false = Es wird kein Login-Shell angelegt (keine SSH-Verbindung möglich!).

Benutzer anlegen:

Copy to clipboard

Passwort setzen:

Copy to clipboard

Rechte

Achtung

Ist der Parameter force user = root gesetzt, so hat die Freigabe immer die vollen Schreib- und Lesezugriffe.

Hinweis

Sollten mehrere Samba-Benutzer (Windows PCs) auf die Freigabe einen Zugriff erhalten, muss mit den Gruppen gearbeitet werden.

Fotoalbum

Sind die Rechte bei der Freigabe Fotoalbum korrekt gesetzt, ist nur mehr ein Lesezugriff vorhanden. Sollte diese Freigabe auch die Parameter (writeable = yes & read only = no) enthalten, ist weiterhin nur der Lesezugriff existent.

Den Benutzer und die Gruppe setzen:

Copy to clipboard

Die Zugriffsrechte der Verzeichnisse setzen (chmod -R 550 /data/samba/Fotoalbum):

Copy to clipboard

Die Zugriffsrechte der Dateien setzen:

Copy to clipboard

Daten

Hier werden Benutzer, Gruppe, Verzeichnis- und Dateirechte manuell gesetzt, wie es anschließend die Freigabe Daten übernimmt.

Copy to clipboard
Copy to clipboard
Copy to clipboard

Natürlich ist es auch hier möglich, Verzeichnisse oder auch Dateien auf Schreibgeschützt zu setzen.

Copy to clipboard
Copy to clipboard

Shellskript

#!/bin/bash
# 23.04.2017 Bacher Oliver (www.technikwiki.org) #

chown -R SambaUser:SambaGroup /data/samba/Daten

find /data/samba/Daten -type d -exec chmod 770 {} \;

find /data/samba/Daten -type f -exec chmod 660 {} \;

find /data/samba/Daten/Readonly -type d -exec chmod 550 {} \;

find /data/samba/Daten/Readolny -type f -exec chmod 440 {} \;

Screenshots

Tipps

Cryptovirus

Bei diesem Beispiel mit der Freigabe "Fotoalbum" ist es ratsam nur Leserechte auf diese Netzwerkfreigabe zu erstatten. Dadurch können keine Daten mehr über die Freigabe geändert werden. Der Vorteil ist, dass ein Cryptovirus nichts mehr ausrichten kann. Neue Fotos können immerhin ohne Probleme mit SSH hochgeladen werden. Nicht vergessen die Berechtigung anschließend zu kontrollieren oder den Shellskript auszuführen, somit ist sichergestellt dass die Berechtigungen in Ordnung sind.

Backup

Ein Backup mit einem Cronjob gesteuerten Shellskript ist sicherlich kein Fehler. Das Tool Rsync ist für diese Zwecke optimal.

Copy to clipboard

Ein weitere Möglichkeit ist, wie auch die TechnikWiki Daten (Fotos, Videos...) gebackupt werden (TechnikWiki: Datensicherheit).

Achtung

Bei einem automatisierten Backup muss darauf geachtet werden, dass nicht die bereits verschlüsselten Daten gesichert werden. Es ist sinnvoll eine History der z. B. wöchentlichen Backups zu haben. Der meist benötigte Speicherplatz meiner Daten, benötigen die komprimierten Backups (Terabyte).

Bei einem Backup auf einem externen Datenträger ist darauf zu achten, dass dieser nur für den Kopiervorgang bei dem Server oder PC angeschlossen ist!

Siehe auch

Weblinks