Logo

Was mir in Sachen Linux einfällt

Dateiserver per SMB

USB-Stick am Router

Die einfachste Lösung: Du hast einen Router, der über einen USB-Anschluss verfügt. Dann ist die Chance groß, das der Router den Inhalt eines USB-Stickes oder einer USB-Festplatte per SMB-Protokoll im heimischen Netz "freigeben" kann. Der Router ist 24 Stunden am Tag eingeschaltet und deswegen als Server gut geeignet. Ob der Router sich eignet oder nicht, steht mit Sicherheit in der Bedienungsanleitung. Stecke ein USB-Speichermedium an den Router an, rufe die Weboberfläche des Gerätes auf, gehe in den Dialog für NAS und stelle alles passend ein mit einem aussagekräftigen Namen für die "Freigabe". Fertig ist der Dateiserver.

Wie kommst Du an die Dateien und Ordner? Bei Windows heißt der Menüpunkt im Explorer "Netzlaufwerk verbinden". Weiter kann ich Dir nicht helfen, weil die einzelnen Windows-Versionen sich unterschiedlich verhalten. Zu Zeiten von XP konnte ich "Freigaben" einfach unter Netzwerk/Microsoft-Netzwerk" sehen, heute breche ich mir einen ab, wenn ich Windows 7 dazu bringen muss. Bei Linux gibst Du entweder im Dateimanager "smb:/" in die Adresszeile ein oder Du wählst irgendwo im Menü "Gehe zu Netzwerkordner" und Dir wird der Name des Routers angezeigt, wenn Du dort drauf klickst, der Name der "Freigabe". Bei beiden Betriebssystemen kannst Du jetzt in den Netzwerk-Ordnern frei schalten und walten, als wären es Ordner auf Deinem Rechner.

Einstellungen für USB am Router

Es sei denn, Du hast beim Einrichten der Freigaben auf dem Router Rechte vergeben können und hast das auch getan. Denn die Rechte eines normalen Betriebssystems gelten auf beim SMB-Protokoll und da heißt es aufpassen und die Rechte sorgfältig vergeben. Dazu gehört natürlich auch ein Dateisystem auf dem USB-Speichermedium, das mit Rechten umgehen kann wie z.B. NTFS bei Windows oder EXT4 bei Linux. Es kann auch sein, dass Dein Router gar nicht auf Rechte eingeht (trotz Dateisystem mit Rechten), dann kann jeder auf alle Dateien zugreifen, sie verändern oder löschen.

Ergänzung für Linux: der zuständige Dienst für "Freigaben" heißt "smbclient", er ist normalerweise installiert. Ebenfalls installiert und in Betrieb ist aber auch die Firewall und die verhindert im Grundzustand, dass sich Freigaben bemerkbar machen dürfen. Du musst also entweder die Firewall ausschalten (nicht weiter schlimm, solange Du im heimischen Netz hinter der Firewall des Routers sitzt) oder Du musst in den Firewall-Einstellungen den Dienst "smbclient" zulassen.

Wenn Dir das reicht, dann bist Du jetzt fertig.


Wenn Du mehr willst, dann ist könnte das ein Dateiserver sein, der per SMB die Daten zur Verfügung stellt und auf dem Du die Rechte anpassen kannst, falls das auf Deinem Router nicht möglich ist. Solche Server findest Du unter dem Zauberkürzel NAS zuhauf im Intenet oder beim Multimediahändler Deines Vertrauens in jeder Größe und Preisklasse. Dort ist schon die passende Software drauf und wenn Du Glück hast, dann ist sie gut konfiguriert. Wenn Du noch mehr Glück hast, dann ist das Gerät leise und verbraucht wenig Strom. Und vielleicht hat der Hersteller die "Tür" zur Software offen gelassen und Du kannst sie an Deine Wünsche anpassen. Und wenn nicht ...?

Derartige Probleme kannst Du von vornherein ausschließen, wenn Du Dir einen eigenen Server aufbaust. Dazu kannst Du jeden Rechner nehmen, auf dem Du Linux installieren kannst. Auf dem richtest Du genau die Benutzer ein, die es auf Rechnern in Deinem Netzwerk sind mit genau denselben Namen. Zusätzlich kannst Du im /home-Verzeichnis auch andere Ordner erstellen, die für alle oder Gruppen von Benutzern zugänglich sein sollen. Bei mir existiert ein solcher Ordner mit dem prägnanten Namen "fueralle". Dieser Ordner hat Schreib- und Leserechte für alle, die /home-Ordner der normalen User haben Schreibrecht für den betreffenden User und normalerweise Leserechte für jeden. Du solltest Dir überlegen, ob Du letzteres ausschaltest.

Zusätzlich installierst Du das Paket Samba und - falls noch nicht vorhanden - das Samba-Modul von Yast. Danach gehst Du bei Yast auf "Netzwerkdienste/Samba-Server einrichten". Im ersten Bild kannst Du Dir einen aussagekräftigen Namen ausdenken, im zweiten Bild nimmst Du den "keinen Domain-Controller", im dritten Bild findest Du 5 TAB-Reiter.

Das Ganze ergibt eine Datei /etc/samba/smb.conf, die Du jetzt in einem Editor öffnest. Und gleich wieder schließt! Denn das, was dort steht, ist viel zu kompliziert für den einfachen Home-Server. Nimm lieber den folgenden Code und erstelle bzw. überschreibe die Datei /etc/samba/smb.conf.

[global]
workgroup = Blumenbeet
server string = Tulpenzwiebel
interfaces = eth0, lo
bind interfaces only = yes
map to guest = Bad User
guest account = nobody
guest ok = Yes
log file = /var/samba/log.%m
max log size = 10

[homes]
comment = Home-Verzeichnisse
valid users = %S
read only = No
browseable = No

[public]
comment = Daten
path = /fueralle
force user = hartmut
force group = users
guest ok = Yes

Benutzer zum Betriebssystem hinzufügen erkläre ich hier nicht, aber Du musst die Benutzer auch zu den Samba-Usern hinzufügen:

Jupiter:/home/hartmut # smbpasswd -a root
New SMB password: hochgeheim
Reenter smb password: hochgeheim
Added user root.

und genauso mit den anderen Benutzern. Mit dem Programm unten können die Benutzer ihr Passwort ändern, so dass Du auch ein nicht geheimes Passwort für normale User nehmen kannst.

Die Konfiguration von Samba wird getestet mit dem Befehl: testparm. Starte den Server erst, wenn dieser Test keine Fehler mehr zeigt !

Wenn Du alle Bedingungen erfüllt hast, dann kannst Du jetzt den Server starten mit rcsmb start.

Ein erster Test, ob alles soweit läuft, sieht bei mir so aus:

hartmut@Saturn:~>smbclient -L localhost -U%
Domain=[SONNENSYSTEM] OS=[Unix] Server=[Samba 3.6.3]

        Sharename       Type      Comment
        ---------       ----      -------
        fueralle        Disk      fuer alle zum Lesen
        hartmut         Disk      Hartmuts Backup-Verzeichnis
        karin           Disk      Karins Backup-Verzeichnis
        IPC$            IPC       IPC Service (Dateneimer)
Domain=[SONNENSYSTEM] OS=[Unix] Server=[Samba 3.6.3]

        Server               Comment
        ---------            -------
        SATURN               Dateneimer

        Workgroup            Master
        ---------            -------
        SONNENSYSTEM         SATURN

Eine komfortable Methode zum Einstellen der Konfigurationsdatei von Samba ist das Programm SWAT. SWAT ist ein Netzwerkdienst und wird deshalb gestartet von der zentralen Verwaltungsstelle dafür: YAST/Netzwerkdienste/xinetd. Dort aktivierst Du diesen Dienst und das war es. Anschließend kannst Du SWAT auf dem Server (nicht auf einem Client!) aufrufen, indem Du in einem Webbrowser in die Adresszeile eingibst: localhost:901.

Swat-Oberfläche

Nachteil von SWAT: das Programm entfernt alle Kommentare aus der Konfigurationsdatei. Außerdem ist SWAT schwerer von einem entfernten Rechner (Client) aufzurufen. Wenn Du das möchtest oder sogar musst, weil Du eben nicht am Server sitzt, dann sind folgende Schritte nötig:

So, jetzt darfst Du allein weitermachen. Dabei kann Dir dieser Link gute Dienste leisten:

Samba-HOWTO-Sammlung

Weiter geht es mit dem

FTP-Server