Posts Tagged ‘Linux’

Linux verschlüsseltes Software Raid

Samstag, April 17th, 2010

Die Überschrift habe ich absichtlich etwas offen gehalten, da es kurz um die Installation, einem Test und dann einem gewollten Datenverlust und Rebuild geht.

Mein Testsystem ist eine aktuelle Debian Installation mit einer Festplatte für das System und zwei identischen Festplatten für mein verschlüsseltes Software Raid das ich während der Installation von Debian kinderleicht erstellt habe. Es handelt sich um ein Raid 1, gespiegelt. Es spielt keine Rolle, ob ihr das System per Passwort oder nach der Installation per Flash-Speicher frei schalten lasst.

Wenn dann alles geklappt hat, dann könnt ihr ganz einfach mal testen ob alles glatt gelaufen ist mit:

sudo mdadm -D /dev/mdX

wobei das X für eine Zahl steht, die ihr bei der Installation oder beim booten sehen könnt.

Wichtig ist, dass ihr dann in der Konsole sehen könnt, ob das Raid vollständig ist oder nicht und welche Platte, also /dev/sd[a|b|c|d] etc. angeschlossen ist. (zu lesen ist das als entweder a oder b oder c, also sda oder sdb, etc.)

In meinem Testfall hat mit dem Raid nach der Installation alles gut geklappt und der Konsolen Output zeigt mir, dass mein Raid funktioniert. Jetzt habe ich den Rechner runter gefahren und eine der beiden Platten abgesteckt und wieder gebootet. Jetzt kann ich sehen, dass mein Raid nicht mehr vollständig ist. Anschließend habe ich die abgesteckte Platte an einem Windows System mit NTFS formatiert und anschließend ein paar Daten darauf kopiert und dann wieder an meine Debian Installation angesteckt.

Jetzt muss man eben heraus finden, wie die neue Festplatte intern gemapped wird. Ihr schaut also wieder mit dem gleichen Befehel wie oben angegeben, welcher Buchstabe für die schon vorhandene Festplatte vergeben wurde und dann könnt ihr zum Beispiel in gparted sehen, welchen Buchstaben die neu (wieder) angesteckte Festplatte bekommen hat und ihr solltet die vorhandene NTFS Partition in gparted einfach löschen.

Wenn ihr das geschafft habt, dann geht es wieder ins Terminal und ihr gebt folgenden Befehl für ein Rebuild ein:

sudo mdadm --re-add /dev/mdX /dev/sde

(/dev/sde ist hier nur ein Beispiel!)

und was der Rechner jetzt treibt könnt ihr mit

watch -n .1 cat /proc/mdstat

verfolgen und beobachten. Vielen Dank hier schonmal für diesen Beitrag.

Anschließend habe ich den Rechner wieder runter gefahren und habe die andere Festplatte abgesteckt und wieder gebootet und siehe da, alles funktioniert! Jetzt könnte man natürlich die andere Festplatte abstecken und das gleiche Szenario nochmal durch spielen, aber mir ging es eig. nur darum, ob der Rebuild trotz der Verschlüsselung klappt und ich bin froh, dass alles so einwandfrei funktioniert hat.

Links zu gparted, debian oder mehr wurden deshalb nicht angegeben, da ich erwarte, dass der Leser es schafft, die genannten Seiten trotzdem aufzurufen.

Und immer schön Backups machen, bevor ihr mit wichtigen Daten herum spielt!
Viel Spaß mit Linux, dm-crypt und OpenSource.

Kleine Helfer große Wirkung – Terminal Tipps

Samstag, Januar 23rd, 2010
  • Logfiles beobachten: $ tail -F /path/to/file.log
  • nach bestimmten Funktionen oder Textpassagen suchen:
    $ grep -rn ‘FunktionXYZ()’ *

    -r = rekursiv
    -n = Zeilennummer
    -* Pfad (ich rufe den Befehl immer im root Verzeichnis auf, in dem ich suchen will)
    weitere interessante Parameter sind -l oder -L:
    -l = print only names of FILEs containing matches
    -L = print only names of FILEs containing no match
    oder ihr piped das ganze und dreht das Ergebnis mit -v um:
  • und zwar ist das gut, um sich alle inputs eines Formulars auszudrucken:
    $ cat -s insert.html.php | grep name | grep -v ‘<!–’ | grep -v ‘label’ | grep -v ‘require’

    dies setzt natürlich voraus, dass jedes input/textarea, etc. einen name Tag besitzt.

  • wenn in einem Ordner nur Dateien liegen/ oder auch nur eine Datei und ihr auf die schnelle wissen wollte, wieviele Zeichen Code ihr geschafft habt:
    $ cat * | wc -l
  • [update]
    wenn ihr noch firebug logging-code in eurem Webprojekt habt und ihr nicht wisst, ob ihr schon alle logging Informationen auskommentiert habt, dann könnt ihr das mit diesem Befehl schnell raus finden:
    $ grep -r ‘console.log(‘ * | grep -v ‘//’

Und es gibt sicher noch mehrere nützliche Tools, ein nettes ist z.B. noch figlet oder vrms, welches euch anzeigt welche installierten Programme nicht OpenSource sind.

Und allgemein gilt: $ <package> – – help oder $ man <package>

Have fun

howto: KVpnc and the group password

Freitag, April 17th, 2009

Hi,

if you get a pcf file to import e.g. for KVpnc then everything works fine, but when you want to connect to your VPN-Server you need to enter a ‘group password’. Ok, so how to get this group password? Very easy, it’s written in plain text in the pcf file. Just do a:

cat profile.pcf | grep GroupPwd

and then copy the encrypted password and paste it here to get the password as clear text. Now you can enter the group password in KVpnc and you can now connect to your VPN-Server.

Have fun

Handy Synchronisierung mit Ubuntu, Funambol, Genesis-Sync und dem E71

Sonntag, April 5th, 2009

Per USB oder Bluetooth mit multisync etc. konnte ich mein Nokia E71 nicht mit evolution syncronisieren, deshalb habe ich weiter recherchiert und bin auf funambol gestoßen. Hierbei handelt es sich um die OpenSource Lösung des mobilen Synchronisierungs-Servers von Funambol.
Mein Ziel ist simpel, ich will nur meine Kontakte und Kalendereinträge zwischen meinem Rechner und Handy hin und her synchronisieren. (Es geht jeweils immer nur eine Kategorie, dies sollte von vornherein klar sein!)

Ziel: Kontakte und Kalender bidirektional synchronisieren
Voraussetzungen: Ubuntu, Evolution, WLan mit konfiguriertem Netzwerk und ein Nokia E71(das auch per Wlan ins Internet kann!)

Anmerkung: es gibt viele hilfreiche Dokus! für Windows gibt es auch eine Funambol Version!

Zuerst lädt man sich den funambol Server für Linux runter (https://www.forge.funambol.org/download/), dann installiert man den Server (sudo sh ./funambol-xyz.bin -> am besten man lässt die Standardkonfiguration und installiert alles brav in /opt/Funambol) und öffnet folgende Datei: /opt/Funambol/bin/funambol und passt den FUNAMBOL_HOME Pfad wie folgt an:

FUNAMBOL_HOME=/opt/Funambol

Man kann das oben genannte Skript auch nach /etc/init.d/ kopieren, um den Server einfacher zu starten oder zu stoppen. Mit ps aux | grep funambol könnt ihr einsehen, ob der Server läuft oder wenn ihr nichts geändert habt könnt ihr den Server unter: http://localhost:8080/funambol/ds erreichen.

Ein nettes Admin Tool gibt es auch, hier muss aber eig. nichts angelegt werden, auch nicht das Handy oder ein neuer Benutzer, dies geschieht automatisch (siehe Dokumentation). Das Programm liegt unter /opt/Funambol/admin/bin und dann funamboladmin.

Also der eigene Sync-Server läuft und ist erreichbar, was nun? Wir benötigen noch 2 Programme, also passen wir erstmal die Datei /etc/apt/sources.list an und fügen folgendes hinzu:

#SyncEvolution
deb http://www.estamos.de/download/apt stable main

#genesis-sync
deb http://ppa.launchpad.net/frederik-elwert/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/frederik-elwert/ppa/ubuntu intrepid main

speichern die Datei, aktualisieren apt vie apt-get update und installieren anschließend:

sudo apt-get install syncevolution genesis-sync

Ok, ihr habt es fast geschafft, jetzt startet man genesis-sync (eine GUI für syncevolution), und nutzt bei der Konfiguration das Template für Funambol und tragt als Servernamen ein, was ihr wollt und als Server-Adresse: http://localhost:8080/funambol/ds (auf eurem Handy müsst ihr natürlich die IP des Rechners, auf dem der Server läuft eintragen!). Hier ein paar Screenshots, damit auch nichts schief geht:

config genesis-sync

config genesis-sync

config genesis-sync

config genesis-sync

config genesis-sync

config genesis-sync

Ok, jetzt könnt schon evolution und funambol synchronisieren. Das ist natürlich wichtig, denn der Server erkennt nicht, wann ihr in evolution eine Änderung vor nehmt und es läuft schließlich alles über den Server!

Die Einrichtung im Handy ist denkbar einfach, ihr klickt euch bis zur Synchronisierung und erstellt dort ein neues Profil, gebt die oben genannte Serveradresse ein und bei der Datenbank für die Kontakte: cards und beim Kalender: event (sollte auch logisch sein, wenn ihr genesis-sync konfiguriert!).Screenshots (+ Infos) finden sich hier.

Jetzt könnt ihr alles synchronisieren, das heißt wenn ihr auf eurem Handy einen Kontakt ändert, synchronisiert ihr diesen mit dem Server, dann via genesis-sync den Server mit evolution und dann habt ihr auch den Eintrag in evolution. Und umgekehrt!

Zur Sicherheit sollte man natürlich Backups von Evolution erstellen, mir reichen die Kontakt und Adressdatenbanken unter /home/<user>/.evolution/ und dann die Ordner addressbook und calendar weg sichern und wenn alles schief geht wieder zurück kopieren.

So läuft nun endlich eine reibungslose bidirektionale Synchronisierung! Yeah!

Für Thunderbird gibt es wohl auch gute Lösungen und allgemein werden viele Handys unterstützt, etc. Für mich die absolut beste Lösung, denn Kontakte würde ich nie alle bei irgend einem Anbieter hosten!!!

Quellen die echt helfen:
funambol doku Seite, ubuntu wiki Eintrag zu funambol, und google sicher auch!

eeePC 901 mit verschlüsselter /home Partition und Ubuntu Netbook Remix

Donnerstag, März 12th, 2009

Das hier ist keine ausführliche Anleitung und macht das alle auf eure eigene Gefahr hin Daten zu verlieren!!! Also Vorsicht!

Hier ist also die stichpunktartige Anleitung, um /home zu verschlüsseln. Es wird davon ausgegangen, dass ihr die interne 4gb ssd für / formatiert habt und die andere mit 8gb für /home.

- sudo apt-get install modconf
- run sudo modconf
- enable:
* kernel/crypto and then aes_generic and leave following Message blank
* kernel/drivers/md  and then dm-crypt and leave following Message blank
(this will also install kernel/drivers/md/dm-mod)
- sudo apt-get install cryptsetup hashalot
- sudo init 6
- sudo su
- cp -av /home/<user> /mnt
- logout
- strg+alt F3, login as user, switch to root
- as root: umount /home
- cryptsetup –verbose –verify-passphrase luksFormat /dev/sdb1
- confirm with: YES
- enter PW: xyz
- cryptsetup luksOpen /dev/sdb1 home
- enter PW
- mkfs.ext3 /dev/mapper/home
- mount -t ext3 /dev/mapper/home /home
- cp -av /mnt/<user> /home

- Add the following to /etc/crypttab: home /dev/sdb1 none luks
- backup /etc/fstab: cp /etc/fstab /etc/fstab.bak
- edit /etc/fstab
- uncomment line with /home (with #)
- and add this: /dev/mapper/home /home ext3 defaults,relatime 0 2
- reboot with: init 6

Jetzt noch ein swap-image erstellen, innerhalb von /home (dies muss dann logischerweise nicht verschlüsselt werden!)

- create Swap-Image (1536 MB = 1,5 GB = 3/2 existing RAM)
- sudo su
- dd if=/dev/zero of=/home/<user>/swap.img bs=1M count=1536
- initialize as Swap-Partition
- mkswap swap.img
- start Swap
- swapon /<path>/swap.img
- test: free

- add the following to /etc/fstab
/home/<user>/swap.img  none  swap  sw  0 0

- init 6

Have fun und immer schön vorsichtig sein, bei Fehlern könnt ihr euch schnell aussperren und Daten verlieren!

Das wars. Ich reboote gerne nach solchen Änderungen, um zu sehen ob alles geklappt hat, aber das könnt ihr machen wie ihr wollt!

Quellen: 1, 2