Samstag, 11. Mai 2013

Samba Freigaben

Dieser Post ist für alle die den Pi zu einem vollwertigen NAS ausbauen wollen. Für diese Funktion wird das Programm SAMBA benutzt. Hiermit kann auch ein Druckserver oder eine ganze Windows-Domäne aufgebaut werden.

Zuerst müssen wir SAMBA installieren:
sudo apt-get update
sudo apt-get install samba-common samba samba-common-bin

nun muss die Konfigurationsdatei smb.conf angepasst werden:
sudo nano /etc/samba/smb.conf
Eine einfache, aufs wesentliche beschränkte smb.conf findet ihr hier: http://pastebin.com/2aFM6eUN
Um diese zu verwenden, benennt die alte Datei um:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.old
und erstellt mit
sudo nano /etc/samba/smb.conf
eine neue in die ihr mit Rechtsklick meine Beispiel smb.conf reinkopiert.

Am Ende der Datei könnt ihr eure Freigaben definieren, eine funktionierende Beispielfreigabe ist schon vorhanden. Damit die Änderungen in der Konfiguration wirken, muss der service neu gestartet werden:
sudo service samba restart

Nun könnt ihr bei einem Windows Computer über "Netzlaufwerk verbinden" die neue Freigabe mit dem Ordner "\\raspberry\test" einbinden.
Fehler in euer Konfiguration könnt ihr mit dem Befehl testparm aufdecken.

Eine Übersicht der Optionen für smb.conf inklusive der Erläuterungen findet ihr hier:  http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html



Wenn ihr eure Freigaben nun auch noch mit einem Passwort schützen wollt, müsst ihr Linux-User für die Benutzer anlegen. Dadurch kann auch gesteuert werden, wer auf welche Freigabe zugreifen darf.

Zuerst muss der Linux Nutzer angelegt
sudo adduser [name] -gecos "" -no-create-home -ingroup sambashare -shell /bin/false -disabled-login
und dann noch für Samba aktiviert werden:
sudo smbpasswd -a [name]

Nun könnt ihr die Option "guest ok" aus eurer Freigabe rausnehmen und/oder den Benutzerkreis mit "valid users" einschränken.



Zum Schluss könnt ihr jetzt noch eine NTFS Festplatte an den Pi anschließen um große Datenmengen über das Netzwerk verfügbar zu machen. Dafür braucht ihr die Identifikationsnummer eurer Festplattenpartition:
sudo blkid
kopiert euch die UUID am Besten irgendwo hin, damit wir sie später einsetzten können.

Damit die Festplatte von allen Benutzern beschrieben werden kann, müsst ihr in der Datei /etc/fstab am Ende eine Zeile hinzufügen:
UUID=[UUID] /mnt/[Ordner] ntfs defaults,umask=000  0  0
Die Spalten müssen jeweils durch genau ein Tabstopp getrennt werden.

Nun wird dieser Ordner noch erstellt:
sudo mkdir -m 777 /mnt/[Ordner]

Nach einem Reboot sollte die Festplatte an der richtigen Stelle eingebunden sein und ihr könnt eure smb.conf dementsprechend anpassen.

Kommentare:

  1. Danke, hat prima geklappt

    AntwortenLöschen
  2. Danke für die gute Anleitung. Hat auf Anhieb geklappt.
    Gruß Gerhard

    AntwortenLöschen
  3. Das ist bis dato die beste und einfachste Anleitung im Netz :) danke dafür.

    AntwortenLöschen
  4. Hallo,
    die Freigabe Funktioniert super!! Wie bekomme ich denn schreibrechte?
    Gruss Michael

    AntwortenLöschen
    Antworten
    1. 1. Semikolon vor der Zeile "writeable = yes" in der /etc/samba/smb.conf entfernen
      2. prüfen ob der angelegte linux user der auf das samba share zugreift auch schreibrechte auf den ordner hat (ls -l /pfad/zum/ordner)

      Löschen
    2. Wie wäre denn der befehl einem user Lese und Schreibrechte an einem Ordner zu geben ohne ihn zum Eigentümer zu machen? Und wie würde der gleiche Befehl für eine schon erstellte Gruppe lauten? Die Rechtevergabebefehle sind mir leider noch nicht so ganz klar ...

      Löschen