Samba

Aus OE-Alliance Support Wiki
Wechseln zu: Navigation, Suche

Samba ist eine Linux-Software, um das

  • SMB-Protokoll,
  • alias "Common Internet File System" (CIFS),
  • alias "LAN Manager"-Protokoll,
  • alias NetBIOS-Protokoll

bereitzustellen, so dass ein Windowsrechner auf die Dateien der Linux-Box zugreifen kann (auf den Flash-Speicher, oder auf die interne oder externe Festplatte), so als wär's ein Windows-Verzeichnis.

Während FTP für die (vollständige) Übertragung von Dateien (nur zu einem FTP-Client) geeignet ist, kann man mit Samba die Dateien so wie lokale Dateien mit ganz normalen Windows-Programmen (z.B. Playern, Editoren) abspielen, ändern, etc.


Unter Menü > Einstellungen > System > Netzwerk... > "Samba-Einstellungen" läst sich der Samba-Server starten, stoppen, oder auf Autostart stellen. Normalerweise (bei den meisten Images) ist Samba gestoppt, muss also von dir gestartet und auf Autostart gesetzt werden.


Über das Menü kann man Samba nicht im Detail konfigurieren. Dazu musst du die Samba-Konfigurationsdatei "/etc/samba/smb.conf direkt editieren, inden du sie dir über FTP auf den Rechner holst, und dann mit einem Editor wie Notepad++ bearbeitest (der im Gegensatz zu dem Windows-eigenen Editor die Linux-Zeilenumbrüche als solche erkennt und auch erhält) (in Linux besteht ein Zeilenumbruch aus einem Steuerzeichen, in Windows aus zweien).

workgroup: unterscheidet zwischen Groß- und Kleinschreibung. Vorgabe: "WORKGROUP"

Beispiel für eine angepasste smb.conf, für eine Box mit einer Festplatte (intern):

 [global]
    load printers = no
    printcap name = /dev/null
    guest account = root
    log file = /tmp/smb.log
    log level = 0
    security = share
    server string = Samba-Server der %h
    workgroup = WORKGROUP
    netbios name = %h
    case sensitive=yes
    preserve case=yes
    short preserve case=yes
    socket options = TCP_NODELAY
    preferred master = no
 [Festplatte]
   comment = ET9000-Festplatte (/media/hdd alias /hdd)
   path = /hdd
   read only = no
   public = yes
   guest ok = yes
 [Root]
   comment = Root (also Vorsicht!)
   path = /
   read only = no
   public = yes
   guest ok = yes

Ein %h zieht sich die gewünschte Bezeichung aus der Datei /etc/hostname, z.B. ET9x00.

Wenn man nicht nur eine Festplatte, sondern mehrere Datenträger an der Box hat, erstellt man entsprechend mehrere [...]-Abschnitte.


Checkliste für Windows:

  • Netzwerk-Adaptereinstellung: "Client für MS-Netzwerke" darf nicht deaktiviert worden sein.
  • Arbeitsgruppe: Systemsteuerung > System: Abschnitt "Einstellungen für Computernamen, Domäne und Arbeitsgruppe": zeigt bereits WORKGROUP als Arbeitsgruppe an, wenn das bislang nie geändert wurde. Es muss mit der smb.conf der Box übereinstimmen.
  • Der Samba-Datenverkehr (also der Netbios-Verkehr) darf nicht behindert werden durch die Windows-Firewall, eine Dritt-Firewall, oder die Firewall in deinem Router. Solche Behinderungen sind aber nur wahrscheinlich, wenn eine dieser Firewalls nicht erkennt, dass die Box Teil deines vertrauenswürdigen Heimnetzwerks ist, sondern glaubt, sie sitzt im unsicheren Internet.

Wenn du nichts siehts, prüfe entsprechende Logs, und achte besonders auf folgende Ports:

NetBIOS-Verkehr lt. support.microsoft.com/kb/179442/de "Konfigurieren einer Firewall für Domänen und Vertrauensstellungen" (der "Client" ist dein Rechner, der "Server" die Box, die Zahl der Port).

 Client: 137/UDP
 Server: 137/UDP
 Dienst: NetBIOS-Namensdienst
 Client: 138/UDP
 Server: 138/UDP
 Dienst: NetBIOS-Anmelde- und Suchdienst
 Client: 1024-65535/TCP
 Server: 139/TCP
 Dienst: NetBIOS-Sitzungsdienst
 Client: 1024-65535/TCP
 Server: 42/TCP
 Dienst: WINS-Replikationsdienst
   

lt. www.samba.org/samba/docs/server_security.html "Protecting an unpatched Samba server"

 UDP/137    - used by nmbd
 UDP/138    - used by nmbd
 TCP/139    - used by smbd
 TCP/445    - used by smbd


  • Mögliche Router-Probleme:
    • Wenn sowohl die Box als auch der Rechner am WLAN hängen: Bei z.B. der Fritz-Box muss man erlaubt haben (bzw. darf nicht verboten haben), dass sich WLAN-Geräte untereinander austauschen dürfen. Menüpfad am Beispiel der Fritz-Box 7270: WLAN > Funknetz: "Die angezeigten WLAN-Geräte dürfen untereinander kommunizieren"


Bei Erfolg erscheint die Box im Explorer im Netzwerk-Knoten (nicht im "Heimnetzgruppe"-Knoten). Wenn nicht absichtlich in der smb.conf anders konfiguriert, unter dem Namen, wie er in der Datei /etc/hostname abgelegt ist, z.B. "ET9x00".

Deine zuvor konfigurierte(n) Samba-Freigabe(n) erscheinen darunter dann wie Unterverzeichnisse.

Du kannst den Pfad auch als Ganzes immer an den Stellen angeben, an denen du auch normale Windows-Verzeichnispfade eingeben kannst (z.B., wenn du einen Link erstellen willst, oder für die Top-Leiste des Windows-Explorers). Statt "C:\Mein Verzeichnis" sieht es allerdings aus wie "\\ET9x00\Festplatte" (wenn du wie im Beispiel deine Freigabe in smb.conf "Festplatte" genannt hast).

Mit Menü > Extras > "Netzwerklaufwerk verbinden" kannst du einem Box-Verzeichnis einen Laufwerksbuchstaben (auch dauerhaft) zuweisen, um z.B. deine Aufnahmen in "\\ET9x00\Festplatte\movies" zukünftig einfach als M: anzusprechen.