Ubuntu MATE (Samba)

Aus TechnikWiki
(Portierung / Aktualisierung)
Zeile 1: Zeile 1:
__NOCACHE__
+
<TwSeo sMetaAuthor="Bacher Oliver"/>
<seo metaauthor="Oliver Bacher"/>
+
<TwSeo sMetaKeyWords="ubuntu,ubuntu mate,samba,samba server, samba client"/>
<seo metakeywords="ubuntu,ubuntu mate,samba"/>
+
<TwSeo sMetaDescription="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)."/>
<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."/>
+
<TwSeo sMetaImage="SeoUbuntu_MATE_Samba.jpg"/>
<seo metaimage="images/e/e8/SeoUbuntu_MATE_Samba.jpg"/>
 
  
 
== Beschreibung ==
 
== Beschreibung ==
[https://de.wikipedia.org/wiki/Samba_(Software) 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. [https://de.wikipedia.org/wiki/Ransomware Ransomware]) eines Samba-Servers auf Ubuntu MATE ([[Raspberry|Raspberry Pi 3]]). Die Konfigurationsmöglichkeiten eines Samba-Servers sind sehr zahlreich.
+
[[File:Ubuntu_MATE_Samba01.jpg|thumb|200px|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|Raspberry Pi 3]]). Die Konfigurationsmöglichkeiten eines Samba-Servers sind sehr zahlreich.
  
 
== Installation ==
 
== Installation ==
[[File:Ubuntu_MATE_Samba01.jpg|thumb|200px|Samba]]
 
  
 
=== Samba ===
 
=== Samba ===
Zeile 15: Zeile 17:
  
 
=== Dienst ===
 
=== Dienst ===
<twovlinfo sLinkName="Extension:&nbsp;Shell">Einfach mit der Maus in das schwarze Eingabeelement klicken, somit wird der Text automatisch markiert.<br><br>Im Putty kannst du den Befehl von der Zwischenablage mit der rechten Maustaste einfügen.<br><br>mehr Informationen:&nbsp;<a href=\'/index.php?title=TechnikWiki:Hilfe#Shell\'>siehe Hilfe (Shell)</a></twovlinfo>
+
Der Samba-Dienst kann mit folgendem Befehl neu gestartet werden (start|stop|reload|restart|force-reload|status).
 
+
<twCli>sudo /etc/init.d/samba restart</twCli>
Der Samba-Dienst kann mit folgenden Befehl neu gestartet werden (start|stop|reload|restart|force-reload|status).
 
<twshell>sudo /etc/init.d/samba restart</twshell>
 
  
 
=== Installation===
 
=== Installation===
Sollte ein Fehler auftreten, dass der Samba-Dienst nicht gefunden wird, einfach Samba neu installieren.
+
Tritt ein Fehler auf, dass der Samba-Dienst nicht gefunden wird, einfach Samba löschen und neu installieren.
<twshell>sudo apt-get remove samba</twshell>
+
<twCli>sudo apt-get remove samba</twCli>
<twshell>sudo apt-get install samba-common samba</twshell>
+
<twCli>sudo apt-get install samba-common samba</twCli>
  
 
=== Firewall ===
 
=== 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.<br>
 
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.<br>
Eine Firewall sollte unbedingt laufen, wenn der Server nicht in der [https://de.wikipedia.org/wiki/Demilitarized_Zone DMZ] (Demilitarized Zone) steht.
+
Eine Firewall sollte unbedingt laufen, wenn der Server nicht in der Demilitarized Zone ([https://de.wikipedia.org/wiki/Demilitarized_Zone DMZ]) steht.
  
 
== Konfiguration ==
 
== Konfiguration ==
  
 
=== Samba ===
 
=== 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''.
+
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''.
<twshell>cd /etc/samba</twshell>
+
<twCli>cd /etc/samba</twCli>
<twshell>sudo cp -v smb.conf smb.conf_org</twshell>
+
<twCli>sudo cp -v smb.conf smb.conf_org</twCli>
Nun die Datei ''smb.conf'' öffnen und mit einem textbasierten Editor (z.B. [https://de.wikipedia.org/wiki/Vi VI] oder [https://de.wikipedia.org/wiki/Nano_(Texteditor) NANO]) bearbeiten.
+
 
<twshell>sudo vi smb.conf</twshell>
+
Nun die Datei ''smb.conf'' öffnen und mit einem textbasierten Editor (z. B. [https://de.wikipedia.org/wiki/Vim VIM] oder [https://de.wikipedia.org/wiki/Nano_(Texteditor) NANO]) bearbeiten.
Hier ein Beispiel einer einfachen Konfiguration mit Authentifizierung. Erstellen eines Benutzerkontos nur für Samba ([[Ubuntu_MATE_(Samba)#Benutzer |siehe: Benutzer]]).
+
<twCli>sudo vim smb.conf</twCli>
 +
 
 +
Hier ein Beispiel für eine einfache Konfiguration mit einer Authentifizierung und das Erstellen eines Benutzerkontos nur für Samba ([[{{PAGENAME}}#Benutzer|siehe: Benutzer]]).
  
 
''smb.conf''
 
''smb.conf''
<twcode>
+
<pre>
# 24.04.2017 Oliver Bacher (www.technikwiki.org) #
+
# 24.04.2017 Bacher Oliver (www.technikwiki.org) #
  
 
[global]
 
[global]
 
         server string = Samba Server
 
         server string = Samba Server
         workgroup = Technikwiki
+
         workgroup = TechnikWiki
 
         security = user
 
         security = user
 
         usershare allow guests = no
 
         usershare allow guests = no
Zeile 70: Zeile 72:
 
         path = /data/samba/Daten
 
         path = /data/samba/Daten
 
         comment = Daten
 
         comment = Daten
</twcode>
+
</pre>
  
 
'''Parameter (Global):'''
 
'''Parameter (Global):'''
* server string
+
* server string = Der Parameter für den Rechnernamen.
Der Parameter für den Rechnernamen.
+
* workgroup = Die Arbeitsgruppe dieses Netzwerks.
* workgroup
+
* security = Der Parameter gibt an, wie eine Benutzeranmeldung geprüft wird (user, share, domain).
Die Arbeitsgruppe von diesem Netzwerk.
+
* usershare allow guests = Dem Gast-Benutzer den Zugang gestatten (yes|no).
* security
+
* hosts allow = Die Hosts, die sich mit Samba verbinden können.
Der Parameter gibt an, wie eine Benutzeranmeldung geprüft wird (user, share, domain).
+
* log file = Die Logdateien von Samba.
* 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):'''
 
'''Parameter (Freigabe):'''
* valid users
+
* valid users = Die Benutzer, die auf diese Freigabe Zugriff erhalten.
Die Benutzer, die auf diese Freigabe Zugriff erhalten.
+
* force user = Der Benutzer mit dem die Verzeichnisse und Dateien angelegt werden.
* force user
+
* force group = Die Gruppe mit dem die Verzeichnisse und Dateien angelegt werden.
Der Benutzer mit dem die Verzeichnisse und Dateien angelegt werden.
+
* create mode = Die Berechtigungen mit dem die Dateien angelegt werden.
* force group
+
*  directory mode = Die Berechtigungen mit dem die Verzeichnisse angelegt werden.
Die Gruppe mit dem die Verzeichnisse und Dateien angelegt werden.
+
* browseable = Die Freigabe ist direkt sichtbar.
* create mode
+
* writeable = Die Lese- und Schreibrechte der Netzwerkfreigabe (yes|no).
Die Berechtigungen mit dem die Dateien angelegt werden.
+
* read only = Die Lese- und Schreibrechte der Netzwerkfreigabe (yes|no).
*  directory mode
+
* path = Der Pfad der Netzwerkfreigabe (/data/samba).
Die Berechtigungen mit dem die Verzeichnisse angelegt werden.
+
* comment = Ein Kommentar der bei der Netzwerkfreigabe angezeigt wird (Fotoalbum 2017).
* 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 ===
 
=== 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).
+
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:'''
 
'''Parameter:'''
* no-create-home  
+
* no-create-home = Es wird kein Homeverzeichnis angelegt.
Es wird kein Homeverzeichnis angelegt.
+
* disabled-login = Der Benutzer kann sich nicht am System anmelden.
* disabled-login  
+
* shell /bin/false = Es wird kein Login-Shell angelegt (keine SSH-Verbindung möglich!).
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:
 
Benutzer anlegen:
<twshell>sudo adduser --no-create-home --disabled-login --shell /bin/false <username></twshell>
+
<twCli>sudo adduser --no-create-home --disabled-login --shell /bin/false <username></twCli>
 +
 
 
Passwort setzen:
 
Passwort setzen:
<twshell>sudo smbpasswd -a <username></twshell>
+
<twCli>sudo smbpasswd -a <username></twCli>
  
 
=== Rechte ===
 
=== Rechte ===
 
'''Achtung'''
 
'''Achtung'''
  
Sollte eine Freigabe den Parameter ''force user = root'' enthalten, so hat diese immer die vollen Schreib- und Lesezugriffe.
+
Ist der Parameter ''force user = root'' gesetzt, so hat die Freigabe immer die vollen Schreib- und Lesezugriffe.
  
 
'''Hinweis'''
 
'''Hinweis'''
Zeile 135: Zeile 119:
 
'''Fotoalbum'''
 
'''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.
+
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:
 
Den Benutzer und die Gruppe setzen:
<twshell>chown -R root:root /data/samba/Fotoalbum</twshell>
+
<twCli>chown -R root:root /data/samba/Fotoalbum</twCli>
 
Die Zugriffsrechte der Verzeichnisse setzen (chmod -R 550 /data/samba/Fotoalbum):
 
Die Zugriffsrechte der Verzeichnisse setzen (chmod -R 550 /data/samba/Fotoalbum):
<twshell>find /data/samba/Fotoalbum -type d -exec chmod 550 {} \;</twshell>
+
<twCli>find /data/samba/Fotoalbum -type d -exec chmod 550 {} \;</twCli>
 
Die Zugriffsrechte der Dateien setzen:
 
Die Zugriffsrechte der Dateien setzen:
<twshell>find /data/samba/Fotoalbum -type f -exec chmod 440 {} \;</twshell>
+
<twCli>find /data/samba/Fotoalbum -type f -exec chmod 440 {} \;</twCli>
  
 
'''Daten'''
 
'''Daten'''
Zeile 148: Zeile 132:
 
Hier werden Benutzer, Gruppe, Verzeichnis- und Dateirechte manuell gesetzt, wie es anschließend die Freigabe ''Daten'' übernimmt.
 
Hier werden Benutzer, Gruppe, Verzeichnis- und Dateirechte manuell gesetzt, wie es anschließend die Freigabe ''Daten'' übernimmt.
  
<twshell>chown -R SambaUser:SambaGroup /data/samba/Daten</twshell>
+
<twCli>chown -R SambaUser:SambaGroup /data/samba/Daten</twCli>
<twshell>find /data/samba/Daten -type d -exec chmod 770 {} \;</twshell>
+
<twCli>find /data/samba/Daten -type d -exec chmod 770 {} \;</twCli>
<twshell>find /data/samba/Daten -type f -exec chmod 660 {} \;</twshell>
+
<twCli>find /data/samba/Daten -type f -exec chmod 660 {} \;</twCli>
  
 
Natürlich ist es auch hier möglich, Verzeichnisse oder auch Dateien auf ''Schreibgeschützt'' zu setzen.
 
Natürlich ist es auch hier möglich, Verzeichnisse oder auch Dateien auf ''Schreibgeschützt'' zu setzen.
<twshell>find /data/samba/Daten/Readonly -type d -exec chmod 550 {} \;</twshell>
+
<twCli>find /data/samba/Daten/Readonly -type d -exec chmod 550 {} \;</twCli>
<twshell>find /data/samba/Daten/Readonly -type f -exec chmod 440 {} \;</twshell>
+
<twCli>find /data/samba/Daten/Readonly -type f -exec chmod 440 {} \;</twCli>
  
'''Shell-Skript'''
+
'''Shellskript'''
<twcode>
+
<pre>
 
#!/bin/bash
 
#!/bin/bash
# 23.04.2017 Oliver Bacher (www.technikwiki.org) #
+
# 23.04.2017 Bacher Oliver (www.technikwiki.org) #
  
 
chown -R SambaUser:SambaGroup /data/samba/Daten
 
chown -R SambaUser:SambaGroup /data/samba/Daten
Zeile 170: Zeile 154:
  
 
find /data/samba/Daten/Readolny -type f -exec chmod 440 {} \;
 
find /data/samba/Daten/Readolny -type f -exec chmod 440 {} \;
</twcode>
+
</pre>
  
 
== Screenshots ==
 
== Screenshots ==
 
<gallery perrow="5">
 
<gallery perrow="5">
Ubuntu_MATE_Samba01.jpg|Samba-Server<br>Samba-Client
+
Ubuntu_MATE_Samba02.jpg|Konfigurationsdatei
Ubuntu_MATE_Samba02.jpg|Screenshot 1<br>Konfigurationsdatei
+
Ubuntu_MATE_Samba03.jpg|Samba-Dienst
Ubuntu_MATE_Samba03.jpg|Screenshot 1<br>Samba-Dienst
+
Ubuntu_MATE_Samba04.jpg|Freigabe
Ubuntu_MATE_Samba04.jpg|Screenshot 2<br>Freigabe
+
Ubuntu_MATE_Samba05.jpg|Freigabe
Ubuntu_MATE_Samba05.jpg|Screenshot 3<br>Freigabe
+
Ubuntu_MATE_Samba07.jpg|Shellskript
Ubuntu_MATE_Samba07.jpg|Screenshot 4<br>Shell-Skript
+
Ubuntu_MATE_Samba09.jpg|Shellskript
Ubuntu_MATE_Samba09.jpg|Screenshot 5<br>Shell-Skript
+
Ubuntu_MATE_Samba10.jpg|Cronjob
Ubuntu_MATE_Samba10.jpg|Screenshot 6<br>Cronjob
+
Ubuntu_MATE_Samba06.jpg|Raspberry (2.032 GB)
Ubuntu_MATE_Samba06.jpg|Raspberry Pi 3<br>(2032 GB)
+
Ubuntu_MATE_Samba08.jpg|Raspberry (WLAN)
Ubuntu_MATE_Samba08.jpg|Raspberry Pi 3<br>(WLAN - portable)
 
 
</gallery>
 
</gallery>
  
Zeile 189: Zeile 172:
  
 
=== Cryptovirus ===
 
=== 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 [https://de.wikipedia.org/wiki/Ransomware Cryptovirus] kann somit nichts ausrichten. Neue Fotos bzw. die Änderungen können immerhin ohne Probleme mit SSH durchgeführt werden.
+
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 ===
 
=== Backup ===
* Ein Backup mit einem Cronjob gesteuerten Shell-Skript ist sicherlich kein Fehler. Das Tool [https://de.wikipedia.org/wiki/Rsync Rsync] ist für diese Zwecke optimal.
+
Ein Backup mit einem Cronjob gesteuerten Shellskript ist sicherlich kein Fehler. Das Tool [https://de.wikipedia.org/wiki/Rsync Rsync] ist für diese Zwecke optimal.
<twshell>
+
 
rsync -rtvu --delete /data/source /data/target
+
<twCli>rsync -rtvu --delete /data/source /data/target</twCli>
</twshell>
+
 
 +
Ein weitere Möglichkeit ist, wie auch die {{SITENAME}} Daten (Fotos, Videos...) gebackupt werden ([[{{SITENAME}}:Über_{{SITENAME}}#Datensicherheit|{{SITENAME}}: 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 ==
 
== Siehe auch ==
 +
* [[{{SITENAME}}:Über_{{SITENAME}}#Datensicherheit|Datensicherheit]]
 
* [[Raspberry]]
 
* [[Raspberry]]
* [[Skripts (Shell)]]
 
 
== Kommentare ==
 
<comments/>
 
  
 
[[Kategorie:EDV-Technik]]
 
[[Kategorie:EDV-Technik]]
  
 
[[Kategorie:Bacher_Oliver]]
 
[[Kategorie:Bacher_Oliver]]
 +
 +
== Weblinks ==
 +
* [https://de.wikipedia.org/wiki/Ransomware Ransomware]
 +
* [https://de.wikipedia.org/wiki/Samba_(Software) Samba]

Version vom 22. Mai 2020, 21:47 Uhr

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