Eine Samba-Freigabe auf einem Entwicklungsserver ist eine einfache Methode, um von anderen Rechnern (vor allem Windows-Maschinen) aus, auf die Dateien des Servers zuzugreifen. Nachfolgend zeige ich, wie die Freigabe unter Debian in wenigen Schritte eingerichtet werden kann.
Installation
Zunächst müssen die Paketlisten aktualisiert und die Samba-Pakete installiert werden. Eventuell sind entsprechende Pakete auch bereits vorhanden.
sudo apt update
sudo apt install samba samba-common-bin
Ob der Dienst danach entsprechend läuft kann mit folgendem Befehl überprüft werden:
sudo systemctl status smbd
Dort sollte dann in der Anzeige irgendwo der Status mit Active: active (running)
auftauchen.
Konfiguration
Die Konfiguration des Samba-Dienstes findet in der Datei /etc/samba/smb.conf
statt. Zum bearbeiten nutzen wir den einfachen Editor nano:
sudo nano /etc/samba/smb.conf
Die nachfolgende Konfiguration erstellt beispielhaft eine Freigabe, die nur von Benutzern, die sich in der Gruppe www-data
befinden, genutzt werden kann. Die Nutzer haben Schreibzugriff und der Freigabe-Ordner ist hier /var/www/
. Der Name der Freigabe wird direkt zu Anfang des Abschnitts in den eckigen Klammern definiert, hier im Beispiel www. Unter diesem Namen taucht die Freigabe im Netzwerk auf.
[www]
path = /var/www # Der Freigegebene Pfad
guest ok = no # Kein Gastzugang, nur angemeldete Nutzer dürfen zugreifen
valid users = @www-data # Nur Nutzer der Gruppe "www-data" haben Zugriff
read only = no # Schreibzugriff erlauben
create mask = 0755 # Neu erstelle Dateien bekommen die Berechtigung 0755
directory mask = 0755 # Neu erstelle Verzeichnisse bekommen die Berechtigung 0755
browsable = yes # Die Freigabe wird in der Netzwerkumgebung oder bei einer Netzwerksuche angezeigt
follow symlinks = yes # Symbolische Links innerhalb der Freigabe werden verfolgt
wide links = yes # Erlaubt symbolische Links, die außerhalb des freigegebenen Verzeichnisses zeigen. ACHTUNG: Dies kann ein Sicherheitsrisiko darstellen, da es Zugriff auf Dateien außerhalb der Freigabe ermöglichen kann.
Damit ein Nutzer überhaupt auf eine Sambafreigabe zugfreifen kann, muss dieser ein entsprechendes Samba-Passwort bekommen. Das Passwort für den Zugriff auf Samba-Freigaben ist unabhängig vom eigentlichen Benutzerpasswort. Dies kann folgendermaßen eingerichtet werden:
sudo smbpasswd -a your_username
Außerdem muss sich der Benutzer in der entsprechenden Gruppe befinden, im Beispiel www-data
. Ein Benutzer kann wie folgt der Gruppe hinzugefügt werden:
sudo adduser your_username www-data
Nach Abschluss der Einrichtung muss der Dienst neu gestartet werden:
sudo service smbd restart
Abschließende Hinweise
Je nach Systemkonfiguration muss eventuell eine Freigabe für die Firewall ergänzt werden:
sudo ufw allow samba
# oder
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
Außerdem muss sichergestellt sein, dass die Benutzer auch die Rechte haben, auf den Freigabeordner zuzugreifen. Hier müssen zusätzlich zur Freigabe eventuell die Ordner-Berechtigungen angepasst werden.