Ubuntu MATE (Samba)
Beschreibung
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).
Installation
Tritt ein Fehler auf, dass der Samba-Dienst nicht gefunden wird, einfach Samba löschen und neu installieren.
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.
Nun die Datei smb.conf öffnen und mit einem textbasierten Editor (z. B. VIM oder NANO) bearbeiten.
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:
Passwort setzen:
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:
Die Zugriffsrechte der Verzeichnisse setzen (chmod -R 550 /data/samba/Fotoalbum):
Die Zugriffsrechte der Dateien setzen:
Daten
Hier werden Benutzer, Gruppe, Verzeichnis- und Dateirechte manuell gesetzt, wie es anschließend die Freigabe Daten übernimmt.
Natürlich ist es auch hier möglich, Verzeichnisse oder auch Dateien auf Schreibgeschützt zu setzen.
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.
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!