Video: Eigener SAMBA-Fileserver unter Linux

  Lioh Möller   Lesezeit: 6 Minuten  🗪 1 Kommentar Auf Mastodon ansehen

Ein SAMBA-Server ist eine großartige Möglichkeit, um Dateien im Netzwerk zu teilen, und ich möchte euch in diesem Video durch den gesamten Prozess führen.

video: eigener samba-fileserver unter linux

SAMBA Fileserver

Warum SAMBA?

Während NFS eine optimale Lösung ist, wenn man nur Linux einsetzt, kann SAMBA eine bessere Möglichkeit sein, wenn man mit anderen Betriebssystemen wie Windows oder Mac arbeitet. Daher empfehle ich in diesem Fall die Verwendung von CIFS über SAMBA, da es eine bessere Kompatibilität bietet.

Die ersten Schritte

Die Installation des Servers demonstriere ich wie üblich in einer virtuellen Maschine in VirtualBox. Um zu beginnen, müsst ihr zunächst sicherstellen, dass euer Netzwerktyp in der virtuellen Maschine auf Bridged eingestellt ist. Dies ist entscheidend, damit der SAMBA-Server ordnungsgemäß funktioniert.

Installation und Konfiguration

Der erste Schritt zur Einrichtung ist die Installation des SAMBA-Servers. Dies geschieht ganz einfach mit dem Befehl:

sudo apt install samba

Nach der Installation müsst ihr die Konfigurationsdatei smb.conf im Verzeichnis /etc/samba anpassen. Die Standardkonfiguration funktioniert zwar, ich empfehle allerdings, einige Anpassungen durchzuführen, um sicherzustellen, dass der Server nur im lokalen Netzwerk verfügbar ist. Besonders wichtig ist die Zeile bind interfaces only, mit der festgelegt wird, dass der Server nur an den angegebenen Interfaces lauscht.

Freigaben einrichten

Ich kommentiere zunächst alle Standardfreigaben aus und definiere meine eigene Freigabe mit einem spezifischen Namen, Kommentar und Pfad. Dabei lege ich auch die Berechtigungen für die Gruppe users fest, um den Zugriff zu steuern.

[Share]
   comment = Share
   path = /home/share
   force group = users
   directory mask = 0770
   create mask = 660
   read only = no
   valid users = @users

Nachdem die Konfiguration abgeschlossen ist, müsst ihr den entsprechenden Ordner auf dem Server erstellen. In diesem Beispiel nutze ich den Ordner /home/share und passe dazu die Berechtigungen mit chgrp und chmod an. Hierbei nutze ich das sogenannte SGID-Bit, damit neu erstellte Ordner und Dateien die richtigen Gruppenberechtigungen erhalten.

sudo mkdir /home/share
sudo chgrp users /home/share
sudo chmod 0770 /home/share
sudo chmod g+x /home/share 

Benutzerverwaltung und Firewall

Ein wichtiger Schritt ist es, den Benutzer, der Zugriff erhalten soll, der Gruppe users hinzuzufügen. In diesem Beispiel heisst mein Benutzer astronaut:

sudo usermod -a -G users astronaut

Die SAMBA-Konfiguration kannst du abschliessend mit dem Befehl `testparm` überprüfen:

sudo testparm

Nach der Konfiguration kann der SAMBA-Dienste mit folgendem Befehl neu gestartet werden:

sudo service smbd restart

Ihr müsst jetzt noch ein Passwort für den zuvor berechtigten Benutzer über smbpasswd festlegen, da SAMBA eine eigene Passwortverwaltung verwendet.

sudo smbpasswd -a astronaut

Vergesst nicht, die Firewall so zu konfigurieren, dass der SAMBA-Dienst zugelassen wird. Falls ihr ufw verwendet, könnt ihr den CIFS-Dienst mit folgendem Befehl freigeben:

sudo ufw allow CIFS

Fazit

Ich hoffe, dass dieses Video euch hilft, euren eigenen Fileserver unter Linux mit SAMBA einzurichten. Probiert die verschiedenen Funktionen von SAMBA aus und zögert nicht, Fragen in unserer Community zu stellen. Viel Spaß beim Teilen eurer Dateien!

TuxWiz

Hast du Lust, das Linux-Betriebssystem auf eine unterhaltsame Weise kennenzulernen? Dann schau unbedingt auf meinem YouTube-Kanal TuxWiz vorbei! ✨

Ich habe speziell für Einsteiger eine Playlist erstellt, die dich Schritt für Schritt durch die aufregende Welt von Linux und Freier Software führt. Also starte von Anfang an – du wirst sehen, wie viel Spass es macht!

Die Linux-Lernvideos bauen auf meiner Debian GNU/Linux basierenden Distribution SpaceFun auf. Viele der bei Einsteiger_innen beliebten Linux-Distros wie Mint, MX Linux oder Ubuntu stammen ebenfalls aus dieser kosmischen Familie. Falls du eine andere Distro nutzt, keine Sorge – die grundlegenden Mechanismen sind universell und lassen sich problemlos übertragen.

Ich freue mich auch, wenn du mir auf Mastodon folgst. Dort erfährst du immer sofort, wenn es etwas Neues zu entdecken gibt.

Mein Kanal auf YouTube: https://www.youtube.com/@tuxwiz

Die Einsteiger-Playlist: https://www.youtube.com/playlist?list=PLJlnbs0kQiZiWks57CPOoCOnUlFwbZWQp

Tags

SAMBA, CIFS, Fileserver, Homeserver

ubu
Geschrieben von ubu am 8. März 2025 um 23:18

Statt Sticky bit und force user etc kann man auch acls verwenden:

apt install acl

default acl setzen:

           modify                   rights
                 |                           |
setfacl -d -m g:groupname:rwx /path/to/folder
             |       |
default_acl  group

Example:

setfacl -d -m g:www-data:rwx test

ls -ld test
drwxrwxr-x+ 2 ubu ubu 4096 Mär  8 23:04 test | zeigt vorhandensein von acls

getfacl test
# file: test
# owner: ubu
# group: ubu
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:www-data:rwx
default:mask::rwx
default:other::r-x

Die default acls vererben sich:

ubu@iMac2017:~$ touch test/file.txt

ubu@iMac2017:~$ getfacl test/file.txt 
# file: test/file.txt
# owner: ubu
# group: ubu
user::rw-
group::rwx          
#effective:rw-group:www-data:rwx        
#effective:rw-mask::rw-
other::r--

Default acl werden vererbt; haben aber selbst keine Auswirkungen auf Zugriffe, haher noch normale acl setzen:

setfacl -m g:www-data:rwx test

Damit ergibt sich folgendes:

getfacl test
# file: test
# owner: ubu
# group: ubu
user::rwx
group::rwx
group:www-data:rwx