Ubuntu MATE (Samba)

Aus TechnikWiki

__NOCACHE__ <seo metaauthor="Oliver Bacher"/> <seo metakeywords="ubuntu,ubuntu mate,samba"/> <seo metadescription="Samba ermöglicht es, Windows-Funktionen wie die Datei- und Druckdienste unter anderen Betriebssystemen zu nutzen. Hier eine kleine Hilfestellung für diverse Konfigurationen von Samba auf Ubuntu MATE."/> <seo metaimage="images/e/e8/SeoUbuntu_MATE_Samba.jpg"/>

Beschreibung

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 (z.B. Ransomware) eines Samba-Servers auf Ubuntu MATE (Raspberry Pi 3). Die Konfigurationsmöglichkeiten eines Samba-Servers sind sehr zahlreich.

Installation

Ubuntu MATE Samba01
Samba

Samba

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

Dienst

<twovlinfo sLinkName="Extension: Shell">Einfach mit der Maus in das schwarze Eingabeelement klicken, somit wird der Text automatisch markiert.

Im Putty kannst du den Befehl von der Zwischenablage mit der rechten Maustaste einfügen.

mehr Informationen: <a href=\'/index.php?title=TechnikWiki:Hilfe#Shell\'>siehe Hilfe (Shell)</a></twovlinfo>

Der Samba-Dienst kann mit folgenden Befehl neu gestartet werden (start|stop|reload|restart|force-reload|status). ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

Installation

Sollte ein Fehler auftreten, dass der Samba-Dienst nicht gefunden wird, einfach Samba neu installieren. ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

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 DMZ (Demilitarized Zone) 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 folgenden Befehl erstellen. Die Datei befindet sich im Verzeichnis /etc/samba. ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! Nun die Datei smb.conf öffnen und mit einem textbasierten Editor (z.B. VI oder NANO) bearbeiten. ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! Hier ein Beispiel einer einfachen Konfiguration mit Authentifizierung. Erstellen eines Benutzerkontos nur für Samba (siehe: Benutzer).

smb.conf <twcode>

  1. 24.04.2017 Oliver Bacher (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

</twcode>

Parameter (Global):

  • server string

Der Parameter für den Rechnernamen.

  • workgroup

Die Arbeitsgruppe von diesem Netzwerk.

  • 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 von der Netzwerkfreigabe (/data/samba).

  • comment

Ein Kommentar der bei der Netzwerkfreigabe angezeigt wird (Fotoalbum 2017).

Benutzer

Mit folgenden Befehl wird der Samba-Benutzer angelegt, somit muss nun nur noch das Passwort für den jeweiligen Benutzer gesetzt werden. Wird beim Betriebssystem Windows derselbe Benutzer mit dem selben Passwort angelegt, findet die Authentifizierung automatisch statt (security = user).

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. Somit ist es nicht möglich mit diesem Benutzer eine SSH-Verbindung aufzubauen.

Benutzer anlegen: ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! Passwort setzen: ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

Rechte

Achtung

Sollte eine Freigabe den Parameter force user = root enthalten, so hat diese 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

Sofern die Rechte bei der Freigabe Fotoalbum korrekt gesetzt sind, 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: ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! Die Zugriffsrechte der Verzeichnisse setzen (chmod -R 550 /data/samba/Fotoalbum): ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! Die Zugriffsrechte der Dateien setzen: ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

Daten

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

ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

Natürlich ist es auch hier möglich, Verzeichnisse oder auch Dateien auf Schreibgeschützt zu setzen. ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required! ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

Shell-Skript <twcode>

  1. !/bin/bash
  2. 23.04.2017 Oliver Bacher (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 {} \; </twcode>

Screenshots

Tipps

Cryptovirus

  • Bei diesem Beispiel mit der Freigabe Fotoalbum ist es ratsam nur Leserechte auf diese Netzwerkfreigabe zu erstatten. Somit können keine Daten mehr über die Freigabe geändert werden. Auch ein Cryptovirus kann somit nichts ausrichten. Neue Fotos bzw. die Änderungen können immerhin ohne Probleme mit SSH durchgeführt werden.

Backup

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

ERROR: <TwSHell> The Value and the Param "sSkriptName" (Fileextension: ".sh") is required!

Siehe auch

Kommentare

<comments/>