Installation von Samba

Von Nasselbau

Eine der wesentlichsten Aufgaben eines NAS ist es, zentral Dateien zur Verfügung zu stellen. Sowohl bei einem selbst gebauten NAS wie auch auf professionellen oder fertig bestückten Systemen kommt hierbei der Samba Server zum Einsatz. Dies ist ein Open Source Fileserver, der das Server Message Block (SMB)-Protokoll von Microsoft spricht. Dieses Protokoll wird mittlerweile sowohl von Windows, wie auch von OS X und Linux-Systemen gut gesprochen. Daher bietet sich Samba als universeller Dateiserver an. Hier zeige ich die Installation von Samba auf Debian-verwandten Systemen (wie Debian, Ubuntu, Raspbian oder auch Bananian für das Mini NAS).

Installation

Alle hier gezeigten Schritte müssen als root durchgeführt werden. Entweder ihr wechselt direkt zum Nutzer root mit:

sudo su -

oder ihr stellt jedem der folgenden Befehle ein sudo voran.

Wie immer, wenn neue Software installiert wird, sollten erstmal die Paketquellen aktualisiert und die neuesten Updaten eingespielt werden:

apt-get update
apt-get upgrade

Dann wird Samba zusammen mit den benötigten Werkzeugen installiert:

apt-get install samba samba-common tdb-tools samba-common-bin

Konfiguration

Als nächstes muss die wichtigste Konfigurationsdatei von Samba, die smb.conf angepasst werden. Hierfür gibt es wirklich unzählige Möglichkeiten. Ich zeige ein paar exemplarische Konfigurationsmöglichkeiten. Die smb.conf bestimmt welches Verzeichnis im Netzwerk für wen freigegeben wird, daher ist diese Konfiguration immer sehr individuell! Ich gehe an dieser Stelle davon aus, dass die Netzwerkshares in einem Verzeichnis namens /mnt/nas liegen sollen (so habe ich nämlich die Festplatten in Einrichtung der Festplatte im Banana Pi eingerichtet).

Datei bearbeiten mit vi:

vi /etc/samba/smb.conf

So sieht die smb.conf am Ende aus:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
log file = /var/log/samba/log.%m
max log size = 1000
netbios name = NAME_EURES_SERVERS
security = user
map to guest = bad user
dns proxy = no

[homes]
comment = Home Directories
browseable = no
valid users = %S
writeable = yes
create mode = 0600
directory mode = 0700

[public]
path = /mnt/nas/public
public = yes
writable = yes
browsable =yes
comment = Public Directory
guest ok = yes
printable = no
read only = no

[private]
comment = Privates Verzeichnis fuer einen Nutzer
path = /mnt/nas/private
valid users = USERNAME
force group = users
create mask = 0660
directory mask = 0771
writable = yes

Erläuterung

  • Zeile 1 nimmt die grundsätzlichen Einstellungen des Samba-Servers vor. Hier gebt ihr zum Beispiel an, wie euer Server im Netzwerk heißen soll, etc.
  • Zeile 11 gibt die Home-Verzeichnisse jedes Nutzers für ihn selbst im Netzwerk frei. Das ist praktisch, wenn eure Nutzer auf eurem Server angelegt sind und sie später von überall aus auf ihre Daten zugreifen können sollen.
  • Zeile 19 zeigt ein öffentliches Verzeichnis auf das jeder Lesen und Schreiben kann.
  • Zeile 29 ist ein privates Verzeichnis, das nur von einem einzigen Nutzer genutzt werden kann.

Nutzer anlegen

Samba hat eine eigene Nutzerverwaltung, die normalerweise nicht mit der des darunter liegenden Linux deckungsgleich ist. Daher müsst ihr alle Nutzer, die Samba nutzen sollen, separat anlegen. Gibt es den Nutzer auf eurem Linux-System schon, dann erledigt das:

smbpasswd -a NUTZERNAME

Gibt es den Nutzer im Linux noch nicht und soll er eigentlich auch gar nicht auf das System zugreifen können, sondern lediglich Samba nutzen, dann legt man ihn ohne Home-Verzeichnis und ohne Login-Shell an:

adduser -no-create-home -disabled-login -shell /bin/false NUTZERNAME
smbpasswd -a NUTZERNAME

Samba neu starten

Nachdem alles konfiguriert wurde und die entsprechenden Nutzer angelegt sind, muss man Samba neu starten:

service samba restart