Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
So, 13. Juli 2003, 00:00

Crypto File System - Sesam schließe dich!

Es besteht oft der Wunsch, besonders sensible Daten stärker zu schützen als mit den Datei-Rechten von Linux bzw. dem Login-Verfahren des Computers. Das Verschlüsseln eines Verzeichnisses stellt eine solche Lösung dar.

Etwas Window-Feeling

Es ist manchen vielleicht ein bisschen unbequem, zum Öffnen des Verzeichnisses die Kommandozeile zu starten, den Befehl einzutippen und anschließend den Dateibrowser dorthin zu dirigieren. Zum anderen fehlt auch der Hinweis auf ein geöffnetes Verzeichnis.

Darum habe ich ein kleines Skript, welches durch einen KDE-Icon-Klick die Datei öffnet, den Konqueror und ein Hinweis startet und durch einen nächsten Klick das Verzeichnis wieder verschlüsselt, dazugetan.

Ablauf:

Als erstes erstellen wir im Homeverzeichnis einen Ordner für die beiden Skripte und das Hinweisbild: mkdir .cfs

Verzeichnisse und Dateien, deren Name mit einem Punkt beginnen, werden als "versteckte Dateien" bezeichnet. Sie werden durch die a-Option im Listbefehl sichtbar gemacht: ls -al.

Dann kopieren wir die Skripte datasafe.sh, signal.sh und das Bild cfs_offen.png dort hinein:

cp datasafe.sh .cfs
cp signal.sh .cfs
cp cfs_offen.png .csf

Das Bild muss von den Dateirechten her lesbar, die Skripte müssen zusätzlich noch ausführbar sein. Mit einem chmod 550 .cfs/*ist dem Genüge getan.

Mit der rechten Maustaste klicken wir nun auf den leeren Desktop-Hintergrund und wählen Neu erstellen - Verknüpfung mit Programm. Es erscheint ein Konfigurationsmenue für die Verknüpfung mit einem Programm. Der erste Reiter trägt die Bezeichnung Allgemein. Hier wählen wir ein Icon-Symbol, z.B. einen Ordner mit dem Blitz und einen Namen, wie DataSafe aus. Danach wählen wir den Reiter Ausführen aus. Unter Befehl suchen wir das Skript datasafe.sh aus, so dass dann folgender Eintrag in der Zeile steht:

/home/joern/.cfs/datasafe.sh

Mit einem Kreuz aktivieren wir die Option In Terminal starten.

Als Terminal-Optionen tragen wir zuletzt noch ein:

konsole --vt_sz 50x8 --noframe --noscrollbar --nomenubar --notoolbar -T 'CFS-Kontrollfenster'

Das Skript signal.sh öffnet und schließt einen Bildbetrachter mit einer vordefinierten Anzeige. Um ein eindeutiges Beenden dieses Prozesses zu gewähren, habe ich des Programm xview mit einer anderen Bezeichnung verlinkt, mit der dann der Betrachter auch gestartet wird. Dazu legen wir den Link wie folgt an:

ln -s /usr/X11R6/bin/xview /usr/bin/hinweis

Ein Icon wird definiert

Jörn Eisenkrätzer

Ein Icon wird definiert

Natürlich können für Dateioperationen auch grafische Tools verwendet werden. Ich z.B. habe mir ein Midnight Commander-Icon auf die Öberfläche geholt, das ich dann per Mausklick in meiner Lieblingskonsole rxvt starte. Dazu wird wieder "Verknüpfung mit Programm" ausgeführt und unter dem Reiter Ausführen der Befehl rxvt -geometry 120x40 -e mc eingetragen.

Funktionsweise der Skripte

datasafe.sh

Es öffnet und verschlüsselt das Verzeichnis, indem es abwechselnd cattach und cdetach aufruft. Wenn das Verzeichnis cryptfile aufgeschlossen ist, so ist es im Verzeichnis crypt sichtbar. Starten wir nun datasafe.sh, so wird nach cryptfile abgefragt und je nach Zustand wird entweder cdetach cryptfile aufgerufen oder cattach /mnt/export/datasafe cryptfile. Mit letzteren Aufruf öffnet sich dann noch der Konqueror in dem datasafe-Verzeichnis und das Skript signal.sh wird aufgerufen, wenn die Passwordeingabe erfolgreich war.

signal.sh

Dieses Skript legt mittels xview (über den Link hinweis) das Hinweisbild cfs_offen.png auf den Desktop und fragt alle fünf Sekunden ab, ob noch eine Datei unter crypt zu sehen ist. Falls nicht, werden dann der Bild-Viewer und das Skript selbst beendet.

Skript 1: datasafe.sh

Download: datasafe.sh

#!/bin/sh
#
# .cfs/datasafe.sh
# Script zum Ein- und Aushaengen des CFS ** J.E. 16.10.2002
# Pfad anpassen:
name_crypt=`ls /home/joern/crypt` # obere Hochkommas neben backspace
# name_crypt ist der Pfad zu dem datasafe-Verzeichnis
# Wenn datasafe in name_crypt gesehen wird, ist das CFS also eingehangen
# Achtung: Dieser Vorgang ist je nach Prozessor etwas traege, bitte zwischen
# manuellen ab- und zumounten des CFS einige Sekunden lassen
case $name_crypt in
cryptfile)
 echo "Das CFS \"datasafe\" wird ausgehangen."
 cdetach cryptfile
 sleep 5
 exit 0
 ;;
*) continue
 ;;
esac
i=0
while test $i -le 2
do
echo -e "\n Passphrase eingeben : \c"
cattach /mnt/export/datasafe cryptfile 2> tmpfile.$$
reaktion=`cat tmpfile.$$|tail -1|cut -da -f1`
i=`expr $i + 1`
case $reaktion in
c)
 echo "Irgendwie vertippt!"
 sleep 1
 ;;
Inv)
 echo "Password erforderlich!"
 sleep 1
 ;;
*)
 echo "OK"
 sleep 1
 nohup konqueror file:/home/joern/crypt/cryptfile &
 echo ""
 echo "Moment bitte, starte jetzt den Konqueror."
 sleep 6
 echo ""
 echo "Starte Kontrollbild:"
 nohup /home/joern/.cfs/signal.sh &
 sleep 2
 i=3
 ;;
esac
done
rm -f tmpfile.$$
exit 0

Skript 2: signal.sh

Download: signal.sh

#!/bin/sh
#.cfs/signal.sh
#
# Kontrolle, ob CFS offen ist. ** J. E. ** 09.10.2002
# Wenn CFS offen ist, Starten eines Hinweisbildes
sleep 3 # Der Mountvorgang ist etwas traege, darum auch etwas Verzoegerung
hinweis -title Achtung cfs_offen.png & # hinweis ist ein Link zu xview
hinweisnr=`ps -e|grep hinweis|cut -b1-5` # obere Hochkommas neben backspace
# hinweisnr gibt die Prozess-ID des Hinweisbildes wieder
# Kontrolle aller 5 sec. auf offenes Verzeichnis unter crypt,
# wenn leer unterhalb crypt beende Programm.
while true; do
 kontrolle=`ls /home/joern/crypt/ |wc -l`
 if test $kontrolle -gt 0
 then
 echo "cfs ist offen"
 sleep 5
 else
 echo "cfs ist abgehangen"
 kill -9 $hinweisnr
 break
 fi
done

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Newsletter
Neue Nachrichten