Ich habe mir einen Raspberry Pi besorgt um diesen als Fileserver einzusetzten. Hierfür habe ich eine externe USB 2.0 HDD angeschlossen, auf der die Files abgelegt werden.
1) Raspberry Pi einrichten:
sudo raspi-config
sudo apt-get install samba samba-common samba-common-bin
sudo apt-get install vim
2) neuen Benutzer anlegen:
sudo useradd -G users NAME
das Samba Passwort muss extra gesetzt werden:
smbpasswd - U NAME
3) Externe HDD einbinden
Da meine HDD mit NTFS formatiert ist musste ich noch folgendes Programm installieren:
sudo apt-get install cifs-utils
Jetzt ist es nötig ein Verzeichnis anzulegen, in welches die Festplatte eingebunden werden soll. Danach muss das Verzeichnis noch der Gruppe “users” zugeordnet werden, damit diese Zugriff erhalten.
sudo mkdir /daten/server
sudo chgrp users -R /daten
danach die Festplatte in die “fstab” Datei eintragen, damit sie automatisch gemountet wird
sudo vim /etc/fstab
ich habe folgendes eingetragen:
UUID=3C58E62B58E5E39C /daten/server ntfs users,rw 0 0
die UUID kann so herausgefunden werden (gibt auch gleich Auskunft über das Device, bei mir “/dev/sda1″:
bklid
die Konfiguration kann getestet werden:
sudo mount -a
4) Samba Konfiguration anpassen:
sudo vim /etc/samba/smb.conf
dort dann nach “[printers]” suchen, darüber für jede Freigabe folgendes einfügen:
[daten]
comment = Daten
browseable = yes
path = /daten/server
valid users = @users
force group = users
create mask = 664
directory mask = 0775
read only = no
danach Samba Service neustarten:
sudo service samba restart
5) Optional :: Debian – Package aus CVS Sourcen erzeugen
(Dieser Punkt kann überspruchen werden, also direkt weitermachen bei 6.)
Ist das alles geschaft hat man schon weitere Ansprüche an das System. Man verwendet ja nicht ohne Grund einen Raspberry Pi als Fileserver – man will Strom sparen. Das ist ja alles schön und gut, aber die externe 3.5″ HDD läuft einfach munter weiter, auch wenn kein User diese momentan verwendet. Abhilfe schaft hier das Programm “hd-idle” welches zuerst kompiliert werden muss oder von hier (ganz unten) runterladen. Ich habe die bei mir auf dem Raspberry (Debian wheezy, Version 2013-02-09) kompilierte Datei angehängt.
Das Programm herunterladen mit einem CVS Client (der erste CVS Befehl muss einfach bei der Passwortabfrage mit ENTER bestätigt werden -> kein Passwort)
sudo apt-get install cvs
cvs -d:pserver:anonymous@hd-idle.cvs.sourceforge.net:/cvsroot/hd-idle login
cvs -z3 -d:pserver:anonymous@hd-idle.cvs.sourceforge.net:/cvsroot/hd-idle co -P hd-idle
um jetzt ein eigenes Debian Pakacke zu erzeugen benötigt man folgendes Programm
sudo apt-get install debhelper
danach das Paket erzeugen (zuerst in das neu angelegte Verzeichnis “hd-idle” wechseln:
cd hd-idle
sudo dpkg-buildpackage -rfakeroot
Die fertig kompilierte Datei befindet sich ein Verzeichnis höher.
6) hd-idle installieren
Archiv des schon erzeugten Debian Packages: hd-idle_1.04.tar
falls Punkt 5) übersprungen wurde, dann einfach die verlinkte Datei auf den Raspi laden.
hd-idle installieren, anschließend den Service starten und den Autostart des Programms vorbereiten:
sudo dpkg -i hd-idle_*.deb
sudo service hd-idle start
sudo update-rc.d hd-idle defaults
getestet werden kann hd-idle folgendermaßen (Dieser Befehl setzt für die Festplatte “sda” eine automatische Abschaltung nach 10s, mehrere Festplatten können mit einem weiteren “-a …” hinten angefügt werden):
hd-idle -i 0 -a sda -i 10
Jetzt will man diese Prozedur natürlich nicht nach jedem reboot neu starten, daher automatisieren wir dies:
Also editieren wir die Konfigurationsdatei:
sudo vim /etc/default/hd-idle
und ändern ganz oben die Zeile in folgende:
START_HD_IDLE=true
und fügen ganz am Ende der Datei einen zu oben ähnlichen Befehl ein (auch hier ist die vom Mounten bekannte UUID notwendig, damit die Festplatte immer richtig angesprochen wird, auch wenn sich einmal der USB Port ändern sollte):
HD_IDLE_OPTS="-i 0 -a /dev/disk/by-uuid/3C58E62B58E5E39C -i 900"
7) Sicherheit erhöhen
Standardmäßig hat der Benutzer “pi” das Passwort “raspberry”. Dieses muss geändert werden, zudem ist es nicht sinnvoll keine Passwortabfrage bei der Eingabe von “sudo” zu bekommen.
Um dies zu ändern folgenden Befehl ausführen:
sudo visudo
hier habe ich folgende Zeilen geändert:
root ALL=(ALL:ALL) ALL
lukas ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
und die wichtigste:
#pi ALL=(ALL) NOPASSWD: ALL
Anhang
hd-idle_1.04.tar
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]