Projekt Homeserver im Eigenbau 10: Der Dateiserver Samba

Der Samba Server ist vielleicht einer der wichtigsten Teile des Servers überhaupt. Letztlich wird der gesamte Dateiaustausch zwischen dem Server und Windows-Rechnern hierüber abgewickelt. Sogar mein XBMC-Mediacenter oder mein MacBook können über das SMB-Protokoll auf den Server zugreifen.

In diesem Beitrag geht es daher ausschließlich um Samba, dessen Grundkonfiguration und das Einrichten einer Freigabe, auf die von einem Windows-Rechner aus zugegriffen werden kann.

Geht mal an euren Windows-Rechner, drückt Windowstaste+R und gebt in das Dialogfeld mal folgendes ein:

\server01

Es wird zwar ein Fenster aufgehen, aber es wird leer sein. So, wie Samba zur zeit konfiguriert ist, werden wir auf keine Daten des Servers zugreifen können.

Samba konfigurieren

Um den Samba-Dienst zu konfigurieren, öffnen wir die Konfigurationsdatei von Samba.

sudo nano /etc/samba/smb.conf

Geht jetzt mit den Pfeiltasten zeilenweise durch die Datei. Hier sind in kommentierten Zeilen die Optionen einzeln erläutert. Stellt ein, was ihr für nötig haltet. Aber im Grunde ist erst mal nur eine Option wirklich wichtig:

workgroup: Tragt hier die Arbeitsgruppe eures Heimnetzwerks ein. Bei mir ist das „KAMIL“. Die Zeile sieht dann so aus:

workgroup = KAMIL

Um euch mal einen Überblick darüber zu verschaffen, welche Optionen in der smb.conf noch alles eingestellt werden können, könnt ihr euch mal die Manpage zu smb.conf ansehen.

Das Home-Verzeichnis als Freigabe

Um auf unser Home-Verzeichnis auch von Windows aus zugreifen zu können, damit wir z. B. Dateien davon sichern oder welche hochladen können, muss am Ende der Konfigurationsdatei ein Block mit diversen Parametern angefügt werden. Die Freigabe meines Home-Verzeichnisses sieht dann so aus:

[Home]
path = /home/kamil
comment = Home-Verzeichnis
browseable = yes
writeable = yes
create mask = 0775
directory mask = 0775
force user = kamil

So, nun noch mit STRG+X die Datei speichern und das Überschreiben bestätigen.

Und hier mal eine Beschreibung, was jede der Optionen eigentlich tut:

  • [Home]: In eckigen Klammern kommt der Freigabename, wie er später auch angezeigt wird.
  • path = /home/kamil: Das ist der Pfad zu dem Verzeichnis, welches ich freigeben möchte. In diesem Falle ist das mein Home-Verzeichnis.
  • comment = Home-Verzeichnis: Ein Kommentar oder Beschreibung, die ebenfalls in der Auflistung der Freigaben zumindest als Tooltip angezeigt werden.
  • browseable = yes: Die Freigabe soll in Auflistungen angezeigt werden und man soll sich den Inhalt der Freigabe anzeigen lassen können.
  • writeable = yes: Standardmäßig sind Freigaben schreibgeschützt, damit macht man sie auch beschreibbar.
  • create mask = 0775 und directory mask = 0775: Das sind die Standard-Dateiattribute, die den Dateien beim Erstellen zugewiesen werden. Das gilt für Dateien und Verzeichnisse.
  • force user = kamil: Dateien, die erstellt werden, gehören dem Benutzer Kamil.

Nach diesem Schema werden alle Freigaben nacheinander erstellt.

Mit dem Befehl „sudo service samba restart“ können wir den Samba Dienst neu starten, ohne den ganzen Server neu starten zu müssen. Und sofort danach steht uns auch die Freigabe zur Verfügung. Wir können da aber jetzt noch nicht rein, da Samba uns noch nicht kennt. Die Samba Benutzerverwaltung ist getrennt von der Benutzerverwaltung in Linux selbst. Um also als Benutzer kamil auch über Samba reinzukommen, müssen wir dem Samba Server noch den User kamil hinzufügen. Der User muss aber auf dem Server schon als normaler Linux-User angelegt sein, was bei kamil ja der Fall ist:

sudo smbpasswd -a kamil

Anschließend werden wir noch nach unserem Passwort gefragt, dann noch mal wiederholen, fertig. Jetzt können wir auch über Windows zugreifen. Das Samba-Passwort muss übrigens nicht unbedingt das gleiche sein, wie das Linux-Passwort.

Einfach mal mit Windows+R wieder ins Ausführen-Dialog gehen und folgendes reinschreiben:

\server01

Nun ist das Fenster nicht mehr leer, sondern enthält die Freigabe „Home“. Öffnen wir diese mit Enter, werden wir nach Benutzername und Passwort gefragt. Hier geben wir dann die Werte ein, die wir am Server zuvor festgelegt hatten beim Erstellen des Samba-benutzers.

Sinnvoll ist es hier, weil wir ja öfter mal zugreifen wollen, diesen Ordner als Netzwerk-Laufwerk zu speichern. Aber wie das geht, soll hier nicht weiter besprochen werden.

Was kommt nun?

Leider erst mal nichts mehr. Um weiteres anstellen zu können, brauche ich das RAID. Aber dafür fehlen mir noch ein paar Festplatten. Ich will ja mindestens ein RAID5 einrichten, und dafür benötige ich mindestens 3 Platten. Also gibt es leider erst dann wieder was zu lesen, wenn ich alle nötigen Platten habe, um das RAID aufzubauen.

Oh, Moment, da fällt mir ein, im nächsten Teil kann ich euch mal die crontab erklären, die ist für die Administration des Servers nämlich sehr hilfreich.