seeseekey.net - Invictus Deus Ex Machina

Ein NAS mit einem RAID 5, einem Samba Ser­ver und Ver­schlüs­se­lung auf Basis von Ubuntu wäre doch eine schöne Sache. Um das zu bewerk­stel­li­gen lädt man sich den Ubuntu Ser­ver unter http://www.ubuntu.com/server her­un­ter, brennt ihn auf eine CD uns star­tet diese auf dem ent­spre­chen­den Rechner.

Dort wählt man dann Deutsch als Spra­che aus und geht im Menü auf Ubuntu Ser­ver instal­lie­ren. Nach eini­gen Fra­gen bezüg­lich der Tastatur- und Län­der­ein­stel­lun­gen geht es dann wei­ter mit den Par­ti­ons­ein­stel­lun­gen. An die­ser Stelle erzeu­gen wir ein neues RAID 5. Dazu wäh­len wir als Par­ti­ons­me­thode manu­ell aus und gehen anschlie­ßend auf den Menü­punkt Software-RAID kon­fi­gu­rie­ren. Sollte es bereits Par­tio­nen geben so soll­ten diese vor­her gelöscht wer­den. Sollte hier­bei noch ein Soft­ware RAID ein­ge­rich­tet sein, so muss die­ses zuerst unter Software-RAID kon­fi­gu­rie­ren gelöscht wer­den (MD Gerät löschen).

Nach­dem wir Software-RAID kon­fi­gu­rie­ren aus­ge­wählt haben gehen wir auf MD Gerät erstel­len und wäh­len dort RAID5 aus. Danach wird man nach der Anzahl der akti­ven Geräte (sprich Fest­plat­ten) gefragt. Hier gibt man die Anzahl der Fest­plat­ten an wel­che man für das RAID ver­wen­den will. Die Fest­plat­ten soll­ten dabei die glei­che Größe auf­wei­sen (sonst wird die kleinste Fest­platte als kleins­ter Nen­ner ange­se­hen). Nach den akti­ven Gerä­ten kann man die Reser­ve­ge­räte (Hot Spare) defi­nie­ren und anschlie­ßend ange­ben wel­che Fest­plat­ten in das RAID genom­men wer­den sollen.

Nach­dem man das ganze bestä­tigt hat und die RAID Kon­fi­gu­ra­ti­ons­seite mit­tels Fer­tig­stel­len ver­las­sen hat, defi­niert man noch den Ein­hän­ge­punkt des RAID5 Gerä­tes (/) sowie das Datei­sys­tem (ext4) und been­det die Par­ti­tio­nie­rung. Zusätz­lich kann man noch eine Swap Par­tion anle­gen, muss dies aber nicht tun (je nach­dem wie viel Arbeits­spei­cher in dem Gerät steckt).

Wäh­rend der Instal­la­tion wird man dann noch gefragt ob man Mail kon­fi­gu­rie­ren möchte. Dort wählt man nur lokal aus und fährt mit der Instal­la­tion fort bis man sei­nen Nut­zer­na­men und sein Pass­wort ver­ge­ben muss. Auf die Frage ob der per­sön­li­che Ord­ner ver­schlüs­selt wer­den soll ant­wor­tet man mit Ja. Dann fährt man mit der Instal­la­tion fort bis man gefragt wird ob man bestimmte Pakete vor­in­stal­lie­ren möchte. Hier wählt man OpenSSH ser­ver und bestä­tigt das ganze.

Nach der Instal­la­tion erstel­len wir mit­tels mkdir /home/seeseekey/share den Ord­ner in dem spä­ter unse­rer Daten lie­gen und instal­lie­ren mit­tels:

sudo apt-get install mc htop samba swat

den Samba Ser­ver (sowie das Web­in­ter­face), htop und den Mid­night Com­man­der (letz­tere nur der Bequem­lich­keit hal­ber). Mit­tels

sudo smbpasswd -a seeseekey

erzeu­gen wir einen neuen Sam­ba­be­nut­zer. Dabei ist zu beach­ten das der betref­fende Sam­ba­nut­zer im Sys­tem schon als Benut­zer exis­tie­ren muss. Am bes­ten legt man sol­che Nut­zer mit­tels

sudo addu­ser --no-create-home --disabled-login --shell /bin/false seeseekey

an. Diese Nut­zer haben dann kein Home­ver­zeich­nis und kön­nen sich auch nicht auf dem Sys­tem ein­log­gen. Nun müs­sen wir noch einige Dinge an den Datei­rech­ten ändern damit Swat die Samba Con­fig schrei­ben kann. Dies geschieht auf der Kon­sole mit­tels

sudo chown root:admin /etc/samba/smb.conf
sudo chmod 664 /etc/samba/smb.conf

Anschlie­ßend star­ten wir Swat mit­tels sudo /etc/init.d/openbsd-inetd restart neu. Danach kön­nen wir uns mit einem Web­brow­ser anmel­den (http://„IP Adresse“:901 z.B. 192.168.1.15:901). Als Nut­zer­name und Pass­wort dient dabei der bei der Instal­la­tion ange­legte Benutzer.

Nach­dem wir uns ver­bun­den haben kön­nen wir unter Glo­bals einige Dinge ein­stel­len z.B. den Namen der Arbeits­gruppe (work­group). Unter Sha­res legen wir eine Frei­gabe an. In die­sem Bei­spiel nen­nen wir die Frei­gabe Daten und kli­cken auf erstel­len. In dem sich öff­nen­den Optio­nen set­zen wir fol­gende Para­me­ter:

path -> /home/seeseekey/share/
admin users -> see­see­key
rea­dyonly -> No
avail­able -> Yes

und kli­cken anschlie­ßend auf Ände­run­gen spei­chern.

Nun haben wir ein Sys­tem wel­ches ein RAID 5 kom­bi­niert mit einem Sam­ba­ser­ver und einer Ver­schlüs­se­lung bereit­stellt. Wenn man den Ser­ver star­tet muss man den Nut­zer­na­men und das Pass­wort ein­ge­ben, damit das ent­spre­chende Nut­zer­ver­zeich­nis in wel­chem die Frei­gabe liegt ent­schlüs­selt wird. Das kann man natür­lich auch per SSH machen, aller­dings ist die Sit­zung (und somit die SMB Frei­gabe) nur so lange ver­füg­bar wie die SSH Ver­bin­dung steht. Eine Anmel­dung direkt am NAS (es reicht ja wenn eine Tas­ta­tur ange­schlos­sen ist) ist also vorzuziehen.

Ein klei­ner Hin­weis noch am Rande: Mit­tels cat /proc/mdstat kann man nach der Anmel­dung Infor­ma­tio­nen über das RAID abfragen.

Wei­tere Infor­ma­tio­nen gibt es unter:
http://de.wikipedia.org/wiki/Network_Attached_Storage
http://wiki.ubuntuusers.de/Software-RAID
http://wiki.ubuntuusers.de/ecryptfs-utils
http://wiki.ubuntuusers.de/SAMBA
http://wiki.ubuntuusers.de/samba_server
http://wiki.ubuntuusers.de/Samba_Server_Swat

Mit­tels SMBNetFS kann man rela­tiv ein­fach eine SMB Frei­gabe in das Datei­sys­tem ein­bin­den. Dazu muss im ers­ten Schritt (neben der Instal­la­tion des Pake­tes smbnetfs) der Nut­zer zur Gruppe fuse hin­zu­ge­fügt wer­den. Dies geschieht mit­tels:

sudo user­mod -aG fuse seeseekey

wobei der Nut­zer­name ent­spre­chend zu set­zen ist. Die Grup­pen­zu­ge­hö­rig­keit gilt aller­dings erst nach der nächs­ten Anmel­dung. Über­prü­fen kann man das auf der Kon­sole mit dem Befehl id. Danach trägt man in die .pro­file Datei wel­che im jewei­li­gen Nut­zer­ver­zeich­nis liegt fol­gen­des ein:

smbnetfs ~/Netzwerk -o uid=1000,gid=1000,umask=0777

Die User- und Grup­penID (uid, gid) muss dabei durch die ent­spre­chende ID aus­ge­tauscht wer­den. Wenn die Frei­gabe eine Authen­ti­fi­zie­rung ver­langt so erzeugt man die Datei ~/.smb/smbnetfs.conf und trägt in diese fol­gen­des ein:

auth „Nut­zer­name“ „Passwort“

Sollte es Pro­bleme mit den Datei­rech­ten geben so sollte man diese für die conf Datei mit­tels chmod auf 600 set­zen. Danach sollte die Frei­gabe nach der Anmel­dung auto­ma­tisch ein­ge­bun­den werden.

Wei­tere Infor­ma­tio­nen gibt es unter:
http://wiki.ubuntuusers.de/FUSE
http://wiki.ubuntuusers.de/Samba_Client_SMBNetFS
http://wiki.ubuntuusers.de/Samba_Client_fusesmb

Um eine Frei­gabe dau­er­haft per fstab ein­zu­bin­den trägt man ein­fach

//lexa/Z$ /media/lexa-z cifs credentials=/home/seeseekey/.smbcredentials,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0

in die Datei. Nun könnte es aber ein Pro­blem mit den Umlau­ten geben. Um die­ses Pro­blem zu umschif­fen trägt man iocharset=utf8 dazu. Das ganze sieht dann so aus:

//lexa/Z$ /media/lexa-z cifs credentials=/home/seeseekey/.smbcredentials,iocharset=utf8, uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0

Und schon wer­den die Umlaute unter­stützt :)

Wei­tere Infor­ma­tio­nen gibt es unter:
http://wiki.ubuntuusers.de/FSTAB
http://wiki.ubuntuusers.de/Samba

Wenn man eine Samba Frei­gabe dau­er­haft per fstab ein­bin­den möchte sieht das unge­fähr so aus:

//lexa/Z$ /media/lexa-z cifs credentials=/home/seeseekey/.smbcredentials,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0

Wenn dann nach das SMB/CIFS Datei­sys­tem nicht ein­ge­bun­den ist, ver­sucht man das ganze mit­tels sudo mount -a mal manu­ell ein­zu­bin­den. Dabei trat dann fol­gende Mel­dung zu Tage:

seeseekey@Amy:~/Development$ sudo mount -a
[sudo] pass­word for see­see­key:
mount: wrong fs type, bad option, bad super­block on //lexa/z$,
mis­sing code­page or hel­per pro­gram, or other error
(for several file­sys­tems (e.g. nfs, cifs) you might
need a /sbin/mount. hel­per pro­gram)
Manch­mal lie­fert das Sys­log wert­volle Infor­ma­tio­nen – ver­su­chen
Sie dmesg | tail oder so

Des Rät­sels Lösung? So ein­fach wie banal, es fehlte das Paket smbfs. Und schon funk­tio­niert das ganze auch :)

Wei­tere Infor­ma­tio­nen gibt es unter:
http://wiki.ubuntuusers.de/Samba